rbs 1.0.0.pre → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +10 -4
  3. data/CHANGELOG.md +41 -6
  4. data/Gemfile +7 -2
  5. data/README.md +1 -1
  6. data/Rakefile +11 -4
  7. data/Steepfile +2 -1
  8. data/bin/annotate-with-rdoc +0 -4
  9. data/bin/test_runner.rb +4 -5
  10. data/core/encoding.rbs +1 -1
  11. data/core/file.rbs +4 -0
  12. data/core/io.rbs +81 -5
  13. data/core/kernel.rbs +56 -56
  14. data/core/module.rbs +43 -2
  15. data/core/unbound_method.rbs +16 -0
  16. data/docs/CONTRIBUTING.md +2 -2
  17. data/docs/stdlib.md +50 -12
  18. data/docs/syntax.md +0 -17
  19. data/goodcheck.yml +3 -3
  20. data/lib/rbs/ast/declarations.rb +0 -47
  21. data/lib/rbs/definition_builder.rb +102 -64
  22. data/lib/rbs/definition_builder/ancestor_builder.rb +52 -3
  23. data/lib/rbs/environment.rb +1 -7
  24. data/lib/rbs/environment_loader.rb +7 -3
  25. data/lib/rbs/errors.rb +22 -57
  26. data/lib/rbs/parser.rb +1003 -1027
  27. data/lib/rbs/parser.y +12 -21
  28. data/lib/rbs/prototype/rb.rb +18 -4
  29. data/lib/rbs/prototype/runtime.rb +30 -14
  30. data/lib/rbs/test/hook.rb +7 -6
  31. data/lib/rbs/test/setup_helper.rb +0 -1
  32. data/lib/rbs/types.rb +6 -2
  33. data/lib/rbs/version.rb +1 -1
  34. data/lib/rbs/writer.rb +4 -3
  35. data/rbs.gemspec +1 -0
  36. data/sig/ancestor_builder.rbs +98 -0
  37. data/sig/declarations.rbs +4 -16
  38. data/sig/definition_builder.rbs +17 -71
  39. data/sig/errors.rbs +141 -2
  40. data/sig/method_builder.rbs +71 -0
  41. data/sig/substitution.rbs +3 -0
  42. data/sig/types.rbs +1 -15
  43. data/stdlib/csv/0/csv.rbs +3 -0
  44. data/stdlib/fileutils/0/fileutils.rbs +585 -0
  45. data/stdlib/pathname/0/pathname.rbs +2 -2
  46. data/stdlib/prettyprint/0/prettyprint.rbs +366 -0
  47. data/stdlib/prime/0/prime.rbs +6 -0
  48. data/stdlib/securerandom/0/securerandom.rbs +2 -0
  49. data/stdlib/uri/0/common.rbs +1 -1
  50. metadata +10 -7
  51. data/core/data.rbs +0 -5
@@ -30,14 +30,62 @@ module RBS
30
30
  yield s
31
31
  end
32
32
 
33
+ each_self_type(&block)
34
+ each_included_module(&block)
35
+ each_included_interface(&block)
36
+ each_prepended_module(&block)
37
+ each_extended_module(&block)
38
+ each_extended_interface(&block)
39
+ else
40
+ enum_for :each_ancestor
41
+ end
42
+ end
43
+
44
+ def each_self_type(&block)
45
+ if block
33
46
  self_types&.each(&block)
47
+ else
48
+ enum_for :each_self_type
49
+ end
50
+ end
51
+
52
+ def each_included_module(&block)
53
+ if block
34
54
  included_modules&.each(&block)
55
+ else
56
+ enum_for :each_included_module
57
+ end
58
+ end
59
+
60
+ def each_included_interface(&block)
61
+ if block
35
62
  included_interfaces&.each(&block)
63
+ else
64
+ enum_for :each_included_interface
65
+ end
66
+ end
67
+
68
+ def each_prepended_module(&block)
69
+ if block
36
70
  prepended_modules&.each(&block)
71
+ else
72
+ enum_for :each_prepended_module
73
+ end
74
+ end
75
+
76
+ def each_extended_module(&block)
77
+ if block
37
78
  extended_modules&.each(&block)
79
+ else
80
+ enum_for :each_extended_module
81
+ end
82
+ end
83
+
84
+ def each_extended_interface(&block)
85
+ if block
38
86
  extended_interfaces&.each(&block)
39
87
  else
40
- enum_for :each_ancestor
88
+ enum_for :each_extended_interface
41
89
  end
42
90
  end
43
91
 
@@ -136,7 +184,7 @@ module RBS
136
184
 
137
185
  return if super_types.size == 1
138
186
 
139
- raise SuperclassMismatchError.new(name: type_name, super_classes: super_types, entry: entry)
187
+ raise SuperclassMismatchError.new(name: type_name, entry: entry)
140
188
  end
141
189
 
142
190
  def one_instance_ancestors(type_name)
@@ -457,7 +505,8 @@ module RBS
457
505
  one_ancestors = one_interface_ancestors(type_name)
458
506
  ancestors = []
459
507
 
460
- one_ancestors.included_interfaces.each do |a|
508
+ included_interfaces = one_ancestors.included_interfaces or raise
509
+ included_interfaces.each do |a|
461
510
  included_ancestors = interface_ancestors(a.name, building_ancestors: building_ancestors)
462
511
  ancestors.unshift(*included_ancestors.apply(a.args, location: entry.decl.location))
463
512
  end
@@ -133,7 +133,7 @@ module RBS
133
133
 
134
134
  def cache_name(cache, name:, decl:, outer:)
135
135
  if cache.key?(name)
136
- raise DuplicatedDeclarationError.new(name, decl, cache[name].decl)
136
+ raise DuplicatedDeclarationError.new(_ = name, _ = decl, _ = cache[name].decl)
137
137
  end
138
138
 
139
139
  cache[name] = SingleEntry.new(name: name, decl: decl, outer: outer)
@@ -195,9 +195,6 @@ module RBS
195
195
 
196
196
  when AST::Declarations::Global
197
197
  cache_name global_decls, name: decl.name, decl: decl, outer: outer
198
-
199
- when AST::Declarations::Extension
200
- RBS.logger.warn "#{Location.to_string decl.location} Extension construct is deprecated: use class/module syntax instead"
201
198
  end
202
199
  end
203
200
 
@@ -326,9 +323,6 @@ module RBS
326
323
  location: decl.location,
327
324
  comment: decl.comment
328
325
  )
329
-
330
- else
331
- raise
332
326
  end
333
327
  end
334
328
 
@@ -48,7 +48,11 @@ module RBS
48
48
  end
49
49
 
50
50
  def has_library?(library:, version:)
51
- self.class.gem_sig_path(library, version) || repository.lookup(library, version)
51
+ if self.class.gem_sig_path(library, version) || repository.lookup(library, version)
52
+ true
53
+ else
54
+ false
55
+ end
52
56
  end
53
57
 
54
58
  def load(env:)
@@ -70,7 +74,7 @@ module RBS
70
74
 
71
75
  libs.each do |lib|
72
76
  unless has_library?(version: lib.version, library: lib.name)
73
- raise UnknownLibraryError.new(lib: lib)
77
+ raise UnknownLibraryError.new(lib: lib)
74
78
  end
75
79
 
76
80
  case
@@ -97,7 +101,7 @@ module RBS
97
101
  if path.basename.to_s.start_with?("_")
98
102
  if skip_hidden
99
103
  unless immediate
100
- return
104
+ return
101
105
  end
102
106
  end
103
107
  end
@@ -35,39 +35,14 @@ module RBS
35
35
  end
36
36
  end
37
37
 
38
- class InvalidExtensionParameterError < StandardError
39
- attr_reader :type_name
40
- attr_reader :extension_name
41
- attr_reader :location
42
- attr_reader :extension_params
43
- attr_reader :class_params
44
-
45
- def initialize(type_name:, extension_name:, extension_params:, class_params:, location:)
46
- @type_name = type_name
47
- @extension_name = extension_name
48
- @extension_params = extension_params
49
- @class_params = class_params
50
- @location = location
51
-
52
- super "#{Location.to_string location}: Expected #{class_params.size} parameters to #{type_name} (#{extension_name}) but has #{extension_params.size} parameters"
53
- end
54
-
55
- def self.check!(type_name:, extension_name:, extension_params:, class_params:, location:)
56
- unless extension_params.size == class_params.size
57
- raise new(type_name: type_name,
58
- extension_name: extension_name,
59
- extension_params: extension_params,
60
- class_params: class_params,
61
- location: location)
62
- end
63
- end
64
- end
65
-
66
38
  class RecursiveAncestorError < StandardError
67
39
  attr_reader :ancestors
68
40
  attr_reader :location
69
41
 
70
42
  def initialize(ancestors:, location:)
43
+ @ancestors = ancestors
44
+ @location = location
45
+
71
46
  names = ancestors.map do |ancestor|
72
47
  case ancestor
73
48
  when Definition::Ancestor::Singleton
@@ -162,6 +137,8 @@ module RBS
162
137
  env.class_decls
163
138
  when type_name.interface?
164
139
  env.interface_decls
140
+ else
141
+ raise
165
142
  end
166
143
 
167
144
  dic.key?(type_name) or raise new(type_name: type_name, location: self_type.location)
@@ -189,6 +166,8 @@ module RBS
189
166
  env.class_decls
190
167
  when type_name.interface?
191
168
  env.interface_decls
169
+ else
170
+ raise
192
171
  end
193
172
 
194
173
  dic.key?(type_name) or raise new(type_name: type_name, member: member)
@@ -205,7 +184,11 @@ module RBS
205
184
  @method_name = method_name
206
185
  @members = members
207
186
 
208
- super "#{Location.to_string location}: #{qualified_method_name} has duplicated definitions"
187
+ message = "#{Location.to_string location}: #{qualified_method_name} has duplicated definitions"
188
+ if members.size > 1
189
+ message << " in #{other_locations.map { |loc| Location.to_string loc }.join(', ')}"
190
+ end
191
+ super message
209
192
  end
210
193
 
211
194
  def qualified_method_name
@@ -220,11 +203,13 @@ module RBS
220
203
  def location
221
204
  members[0].location
222
205
  end
206
+
207
+ def other_locations
208
+ members.drop(1).map(&:location)
209
+ end
223
210
  end
224
211
 
225
212
  class DuplicatedInterfaceMethodDefinitionError < StandardError
226
- include MethodNameHelper
227
-
228
213
  attr_reader :type
229
214
  attr_reader :method_name
230
215
  attr_reader :member
@@ -265,36 +250,13 @@ module RBS
265
250
  attr_reader :name
266
251
  attr_reader :entry
267
252
 
268
- def initialize(name:, super_classes:, entry:)
253
+ def initialize(name:, entry:)
269
254
  @name = name
270
255
  @entry = entry
271
256
  super "#{Location.to_string entry.primary.decl.location}: Superclass mismatch: #{name}"
272
257
  end
273
258
  end
274
259
 
275
- class InconsistentMethodVisibilityError < StandardError
276
- attr_reader :type_name
277
- attr_reader :method_name
278
- attr_reader :kind
279
- attr_reader :member_pairs
280
-
281
- def initialize(type_name:, method_name:, kind:, member_pairs:)
282
- @type_name = type_name
283
- @method_name = method_name
284
- @kind = kind
285
- @member_pairs = member_pairs
286
-
287
- delimiter = case kind
288
- when :instance
289
- "#"
290
- when :singleton
291
- "."
292
- end
293
-
294
- super "#{Location.to_string member_pairs[0][0].location}: Inconsistent method visibility: #{type_name}#{delimiter}#{method_name}"
295
- end
296
- end
297
-
298
260
  class InvalidOverloadMethodError < StandardError
299
261
  attr_reader :type_name
300
262
  attr_reader :method_name
@@ -337,7 +299,8 @@ module RBS
337
299
  @name = name
338
300
  @decls = decls
339
301
 
340
- super "#{Location.to_string decls.last.location}: Duplicated declaration: #{name}"
302
+ last_decl = decls.last or raise
303
+ super "#{Location.to_string last_decl.location}: Duplicated declaration: #{name}"
341
304
  end
342
305
  end
343
306
 
@@ -367,7 +330,9 @@ module RBS
367
330
  end
368
331
 
369
332
  def location
370
- defs[0].original.location
333
+ first_def = defs.first or raise
334
+ original = first_def.original or raise
335
+ original.location
371
336
  end
372
337
  end
373
338
  end
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # DO NOT MODIFY!!!!
3
- # This file is automatically generated by Racc 1.5.1
3
+ # This file is automatically generated by Racc 1.5.2
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', 1077)
11
+ module_eval(<<'...end parser.y/module_eval...', 'parser.y', 1068)
12
12
 
13
13
  Types = RBS::Types
14
14
  Namespace = RBS::Namespace
@@ -315,7 +315,7 @@ def next_token
315
315
  new_token(:tWRITE_ATTR)
316
316
  when input.scan(KEYWORDS_RE)
317
317
  new_token(KEYWORDS[input.matched], input.matched.to_sym)
318
- when input.scan(/:((@{,2}|\$)?\w+(\?|\!)?|\+|\-)\b?/)
318
+ when input.scan(/:((@{,2}|\$)?\w+(\?|\!)?|[|&\/%~`^]|<=>|={2,3}|=~|[<>]{2}|[<>]=?|[-+]@?|\*{1,2}|\[\]=?|![=~]?)\b?/)
319
319
  s = input.matched.yield_self {|s| s[1, s.length] }.to_sym
320
320
  new_token(:tSYMBOL, s)
321
321
  when input.scan(/[+-]?\d[\d_]*/)
@@ -401,121 +401,119 @@ end
401
401
  ##### State transition tables begin ###
402
402
 
403
403
  clist = [
404
- '360,361,33,362,182,114,5,33,33,347,181,404,49,33,33,359,37,345,248,403',
405
- '40,41,55,56,57,58,59,60,61,62,364,33,63,54,64,65,66,77,67,68,69,83,33',
406
- '32,53,355,349,350,32,32,353,351,354,312,32,32,33,352,82,70,71,72,74',
407
- '76,75,348,357,358,73,78,80,127,32,125,42,84,85,81,86,360,361,33,362',
408
- '32,96,97,98,99,43,49,48,33,33,33,359,207,207,32,126,40,41,55,56,57,58',
409
- '59,60,61,62,79,33,63,54,64,65,66,77,67,68,69,83,53,32,161,355,349,350',
410
- '53,53,353,351,354,32,32,32,187,352,82,70,71,72,74,76,75,348,357,358',
411
- '73,78,80,225,32,162,287,84,85,81,86,360,361,126,362,104,96,97,98,99',
412
- '101,102,39,103,40,41,359,121,226,335,370,288,165,55,56,57,58,59,60,61',
413
- '62,79,407,63,54,64,65,66,77,67,68,69,83,39,126,126,355,349,350,408,409',
414
- '353,351,354,331,40,41,126,352,82,70,71,72,74,76,75,348,357,358,73,78',
415
- '80,166,327,126,126,84,85,81,86,360,361,167,362,168,96,97,98,99,2,3,4',
416
- '40,41,169,359,40,41,40,41,40,41,55,56,57,58,59,60,61,62,79,171,63,54',
417
- '64,65,66,77,67,68,69,83,40,41,172,355,349,350,40,41,353,351,354,40,41',
418
- '40,41,352,82,70,71,72,74,76,75,348,357,358,73,78,80,360,361,173,362',
419
- '84,85,81,86,-4,114,-245,180,33,183,118,359,-245,40,41,40,41,114,55,56',
420
- '57,58,59,60,61,62,79,186,63,54,64,65,66,77,67,68,69,83,40,41,41,355',
421
- '349,350,283,284,353,351,354,32,290,291,189,352,82,70,71,72,74,76,75',
422
- '348,357,358,73,78,80,360,361,182,362,84,85,81,86,382,383,40,41,190,39',
423
- '-108,359,40,41,398,399,40,41,55,56,57,58,59,60,61,62,79,-109,63,54,64',
424
- '65,66,77,67,68,69,83,40,41,-110,355,349,350,40,41,353,351,354,40,41',
425
- '40,41,352,82,70,71,72,74,76,75,348,357,358,73,78,80,40,41,40,41,84,85',
426
- '81,86,360,361,-111,362,-112,96,97,98,99,-113,-114,-115,-116,-117,-118',
427
- '359,48,-133,195,196,197,198,55,56,57,58,59,60,61,62,79,199,63,54,64',
428
- '65,66,77,67,68,69,83,200,208,209,355,349,350,42,227,353,351,354,241',
429
- '251,252,254,352,82,70,71,72,74,76,75,348,357,358,73,78,80,360,361,256',
430
- '362,84,85,81,86,257,42,121,260,260,260,266,359,42,227,269,271,275,277',
431
- '55,56,57,58,59,60,61,62,79,279,63,54,64,65,66,77,67,68,69,83,280,318',
432
- '320,355,349,350,275,322,353,351,354,279,332,333,334,352,82,70,71,72',
433
- '74,76,75,348,357,358,73,78,80,338,338,338,368,84,85,81,86,33,371,378',
434
- '96,97,98,99,379,380,381,22,23,21,384,26,-223,25,386,30,389,132,133,134',
435
- '135,136,137,138,139,143,16,140,131,141,142,66,77,67,68,69,83,389,32',
436
- '389,402,405,28,406,157,413,158,160,414,415,417,422,423,82,70,71,72,74',
437
- '76,75,424,425,422,73,78,80,,,,,84,85,81,86,33,,,96,97,98,99,,,,22,23',
438
- '21,,26,,25,,30,,132,133,134,135,136,137,138,139,143,16,140,131,141,142',
439
- '66,77,67,68,69,83,,32,,,,28,,,,,,,,,,,82,70,71,72,74,76,75,,,,73,78',
440
- '80,,,,,84,85,81,86,33,,,96,97,98,99,,,,22,23,21,,26,-223,25,,30,,132',
441
- '133,134,135,136,137,138,139,143,16,140,131,141,142,66,77,67,68,69,83',
442
- ',32,,,,28,,157,,158,160,,,,,,82,70,71,72,74,76,75,,,,73,78,80,,,,,84',
443
- '85,81,86,33,,,96,97,98,99,,,,22,23,21,,26,-223,25,,30,,132,133,134,135',
444
- '136,137,138,139,143,16,140,131,141,142,66,77,67,68,69,83,,32,,,,28,',
445
- '157,,158,160,,,,,,82,70,71,72,74,76,75,,,,73,78,80,,,,,84,85,81,86,33',
446
- ',,96,97,98,99,,,,22,23,21,,26,-223,25,,30,,132,133,134,135,136,137,138',
447
- '139,143,16,140,131,141,142,66,77,67,68,69,83,,32,,,,28,,233,,,160,,',
404
+ '351,352,33,353,5,113,37,33,33,42,338,394,49,33,33,350,43,245,336,393',
405
+ '40,41,55,56,57,58,59,60,61,62,355,33,63,54,64,65,66,77,67,68,69,83,33',
406
+ '32,53,346,340,341,32,32,344,342,345,305,32,32,33,343,82,70,71,72,74',
407
+ '76,75,339,348,349,73,78,80,126,32,124,48,84,85,81,86,351,352,33,353',
408
+ '32,96,97,98,99,104,49,39,33,33,33,350,205,205,32,125,40,41,55,56,57',
409
+ '58,59,60,61,62,79,185,63,54,64,65,66,77,67,68,69,83,53,32,160,346,340',
410
+ '341,53,53,344,342,345,32,32,32,125,343,82,70,71,72,74,76,75,339,348',
411
+ '349,73,78,80,40,41,161,223,84,85,81,86,351,352,120,353,180,96,97,98',
412
+ '99,164,179,101,102,165,103,350,166,280,327,360,224,39,55,56,57,58,59',
413
+ '60,61,62,79,397,63,54,64,65,66,77,67,68,69,83,281,125,125,346,340,341',
414
+ '398,399,344,342,345,323,40,41,125,343,82,70,71,72,74,76,75,339,348,349',
415
+ '73,78,80,167,319,125,125,84,85,81,86,351,352,168,353,170,96,97,98,99',
416
+ '2,3,4,40,41,171,350,40,41,40,41,40,41,55,56,57,58,59,60,61,62,79,172',
417
+ '63,54,64,65,66,77,67,68,69,83,40,41,113,346,340,341,40,41,344,342,345',
418
+ '40,41,40,41,343,82,70,71,72,74,76,75,339,348,349,73,78,80,351,352,178',
419
+ '353,84,85,81,86,-4,181,-242,184,33,41,117,350,-242,40,41,40,41,113,55',
420
+ '56,57,58,59,60,61,62,79,187,63,54,64,65,66,77,67,68,69,83,40,41,180',
421
+ '346,340,341,283,284,344,342,345,32,372,373,188,343,82,70,71,72,74,76',
422
+ '75,339,348,349,73,78,80,351,352,-104,353,84,85,81,86,40,41,40,41,-105',
423
+ '39,-106,350,388,389,40,41,40,41,55,56,57,58,59,60,61,62,79,-107,63,54',
424
+ '64,65,66,77,67,68,69,83,40,41,-108,346,340,341,40,41,344,342,345,40',
425
+ '41,40,41,343,82,70,71,72,74,76,75,339,348,349,73,78,80,40,41,-109,-110',
426
+ '84,85,81,86,351,352,-111,353,-112,96,97,98,99,-113,-114,48,-129,193',
427
+ '194,350,195,196,197,198,206,207,55,56,57,58,59,60,61,62,79,42,63,54',
428
+ '64,65,66,77,67,68,69,83,225,239,248,346,340,341,249,250,344,342,345',
429
+ '252,254,255,42,343,82,70,71,72,74,76,75,339,348,349,73,78,80,351,352',
430
+ '257,353,84,85,81,86,257,257,263,42,225,267,271,350,273,275,276,312,271',
431
+ '314,55,56,57,58,59,60,61,62,79,275,63,54,64,65,66,77,67,68,69,83,324',
432
+ '325,326,346,340,341,329,329,344,342,345,329,359,361,368,343,82,70,71',
433
+ '72,74,76,75,339,348,349,73,78,80,369,370,371,374,84,85,81,86,33,376',
434
+ '379,96,97,98,99,379,379,392,22,23,21,395,26,-219,25,396,30,403,131,132',
435
+ '133,134,135,136,137,138,142,16,139,130,140,141,66,77,67,68,69,83,404',
436
+ '32,405,407,412,28,413,156,414,157,159,415,412,,,,82,70,71,72,74,76,75',
437
+ ',,,73,78,80,,,,,84,85,81,86,33,,,96,97,98,99,,,,22,23,21,,26,,25,,30',
438
+ ',131,132,133,134,135,136,137,138,142,16,139,130,140,141,66,77,67,68',
439
+ '69,83,,32,,,174,28,,177,,175,,,,,,,82,70,71,72,74,76,75,,,,73,78,80',
440
+ '176,,,,84,85,81,86,33,,,96,97,98,99,,,,22,23,21,,26,-219,25,,30,,131',
441
+ '132,133,134,135,136,137,138,142,16,139,130,140,141,66,77,67,68,69,83',
442
+ ',32,,,,28,,156,,157,159,,,,,,82,70,71,72,74,76,75,,,,73,78,80,,,,,84',
443
+ '85,81,86,33,,,96,97,98,99,,,,22,23,21,,26,-219,25,,30,,131,132,133,134',
444
+ '135,136,137,138,142,16,139,130,140,141,66,77,67,68,69,83,,32,,,,28,',
445
+ '156,,157,159,,,,,,82,70,71,72,74,76,75,,,,73,78,80,,,,,84,85,81,86,33',
446
+ ',,96,97,98,99,,,,22,23,21,,26,-219,25,,30,,131,132,133,134,135,136,137',
447
+ '138,142,16,139,130,140,141,66,77,67,68,69,83,,32,,,,28,,231,,,159,,',
448
448
  ',,,82,70,71,72,74,76,75,,,,73,78,80,,,,,84,85,81,86,33,,,96,97,98,99',
449
- ',,,22,23,21,,26,-223,25,,30,,132,133,134,135,136,137,138,139,143,16',
450
- '140,131,141,142,66,77,67,68,69,83,,32,,,,28,,157,,158,160,,,,,,82,70',
449
+ ',,,22,23,21,,26,-219,25,,30,,131,132,133,134,135,136,137,138,142,16',
450
+ '139,130,140,141,66,77,67,68,69,83,,32,,,,28,,156,,157,159,,,,,,82,70',
451
451
  '71,72,74,76,75,,,,73,78,80,,,,,84,85,81,86,33,,,96,97,98,99,,,,22,23',
452
- '21,,26,-223,25,,30,,132,133,134,135,136,137,138,139,143,16,140,131,141',
453
- '142,66,77,67,68,69,83,,32,,,,28,176,233,,179,160,177,,,,,82,70,71,72',
454
- '74,76,75,,,,73,78,80,,,178,,84,85,81,86,96,97,98,99,,175,,90,89,91,',
455
- ',,,,,,55,56,57,58,59,60,61,62,79,,63,54,64,65,66,77,67,68,69,83,,,,',
456
- ',,,,192,,193,,,,,,82,70,71,72,74,76,75,,95,94,73,78,80,,,,,84,85,81',
457
- '86,96,97,98,99,,,,90,89,91,,,,,,40,41,55,56,57,58,59,60,61,62,79,,63',
458
- '54,64,65,66,77,67,68,69,83,194,,,,,,,,,,,,,,,,82,70,71,72,74,76,75,',
459
- '95,94,73,78,80,96,97,98,99,84,85,81,86,,,,,,,,,,55,56,57,58,59,60,61',
460
- '62,79,,63,54,64,65,66,77,67,68,69,83,192,,193,,,,,233,,,160,,,,,,82',
461
- '70,71,72,74,76,75,192,,193,73,78,80,96,97,98,99,84,85,81,86,,,,,,,,40',
462
- '41,55,56,57,58,59,60,61,62,79,,63,54,64,65,66,77,67,68,69,83,194,40',
463
- '41,,,,,233,,,160,,,,,,82,70,71,72,74,76,75,194,,,73,78,80,96,97,98,99',
464
- '84,85,81,86,,,,,,,,,,55,56,57,58,59,60,61,62,79,,63,54,64,65,66,77,67',
465
- '68,69,83,192,,193,192,,193,192,,193,,,,,,,,82,70,71,72,74,76,75,,,,73',
466
- '78,80,,,,,84,85,81,86,,,,,,,,40,41,,40,41,,40,41,-245,,33,,118,,-245',
467
- ',,307,308,114,,,194,,,194,,,194,,-245,,33,,118,,-245,,309,307,308,114',
468
- ',,,,,304,303,,,32,-245,,33,,118,,-245,,309,307,308,114,,,,295,,304,303',
469
- ',,32,-245,,33,,118,,-245,,309,307,308,114,,,,319,,304,303,,,32,,,,,',
470
- ',,,309,,,,,,,323,,304,303,,33,32,,,,,,,,,22,23,21,,26,,25,369,30,,8',
471
- '12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26',
472
- ',25,45,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28',
473
- '22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,',
474
- ',,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18',
475
- '11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14',
476
- '15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20',
477
- '9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30',
478
- ',8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21',
479
- ',26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,',
480
- '28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33',
481
- ',,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18',
482
- '11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14',
483
- '15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20',
484
- '9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30',
485
- ',8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21',
486
- ',26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,',
487
- '28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33',
488
- ',,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18',
489
- '11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14',
490
- '15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20',
491
- '9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30',
492
- ',8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21',
493
- ',26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,',
494
- '28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33',
495
- ',,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18',
496
- '11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14',
497
- '15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20',
498
- '9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,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,,,',
501
- '28,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,176',
516
- ',,179,,177,,32,331,,,28,,,,,,,,,,,,,,178,,327,328,324,325,326,,,,329',
517
- '175' ]
518
- racc_action_table = arr = ::Array.new(3055, nil)
452
+ '21,,26,-219,25,,30,,131,132,133,134,135,136,137,138,142,16,139,130,140',
453
+ '141,66,77,67,68,69,83,,32,,,,28,,231,,,159,,,,,,82,70,71,72,74,76,75',
454
+ ',,,73,78,80,,,,,84,85,81,86,96,97,98,99,,,,90,89,91,,,,,,,,55,56,57',
455
+ '58,59,60,61,62,79,,63,54,64,65,66,77,67,68,69,83,,,,,,,,,190,,191,,',
456
+ ',,,82,70,71,72,74,76,75,,95,94,73,78,80,,,,,84,85,81,86,96,97,98,99',
457
+ ',,,90,89,91,,,,,,40,41,55,56,57,58,59,60,61,62,79,,63,54,64,65,66,77',
458
+ '67,68,69,83,192,,,,,,,,,,,,,,,,82,70,71,72,74,76,75,,95,94,73,78,80',
459
+ '96,97,98,99,84,85,81,86,,,,,,,,,,55,56,57,58,59,60,61,62,79,,63,54,64',
460
+ '65,66,77,67,68,69,83,190,,191,,,,,231,,,159,,,,,,82,70,71,72,74,76,75',
461
+ '190,,191,73,78,80,96,97,98,99,84,85,81,86,,,,,,,,40,41,55,56,57,58,59',
462
+ '60,61,62,79,,63,54,64,65,66,77,67,68,69,83,192,40,41,,,,,231,,,159,',
463
+ ',,,,82,70,71,72,74,76,75,192,,,73,78,80,96,97,98,99,84,85,81,86,,,,',
464
+ ',,,,,55,56,57,58,59,60,61,62,79,,63,54,64,65,66,77,67,68,69,83,190,',
465
+ '191,190,,191,190,,191,,,,,,,,82,70,71,72,74,76,75,,,,73,78,80,,,,,84',
466
+ '85,81,86,,,,,,,,40,41,,40,41,,40,41,-242,,33,,117,,-242,,,300,301,113',
467
+ ',,192,,,192,,,192,,-242,,33,,117,,-242,,302,300,301,113,,,,,,297,296',
468
+ ',,32,-242,,33,,117,,-242,,302,300,301,113,,,,288,,297,296,,174,32,,177',
469
+ ',175,,,323,,302,,,,,,,311,,297,296,,33,32,,176,,319,320,316,317,318',
470
+ '22,23,21,321,26,,25,315,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27',
471
+ ',,33,,,,,32,,,,28,22,23,21,,26,,25,45,30,,8,12,19,20,9,10,13,14,15,16',
472
+ '17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10',
473
+ '13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12',
474
+ '19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25',
475
+ ',30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23',
476
+ '21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32',
477
+ ',,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27',
478
+ ',,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16',
479
+ '17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10',
480
+ '13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12',
481
+ '19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25',
482
+ ',30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23',
483
+ '21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32',
484
+ ',,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27',
485
+ ',,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16',
486
+ '17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10',
487
+ '13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12',
488
+ '19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25',
489
+ ',30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23',
490
+ '21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32',
491
+ ',,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27',
492
+ ',,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16',
493
+ '17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10',
494
+ '13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12',
495
+ '19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25',
496
+ ',30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23',
497
+ '21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32',
498
+ ',,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27',
499
+ ',,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16',
500
+ '17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10',
501
+ '13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12',
502
+ '19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25',
503
+ ',30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23',
504
+ '21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32',
505
+ ',,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27',
506
+ ',,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16',
507
+ '17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10',
508
+ '13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12',
509
+ '19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25',
510
+ ',30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23',
511
+ '21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32',
512
+ ',,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27',
513
+ ',,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16',
514
+ '17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10',
515
+ '13,14,15,16,17,18,11,27,,,,,,,,32,,,,28' ]
516
+ racc_action_table = arr = ::Array.new(3008, nil)
519
517
  idx = 0
520
518
  clist.each do |str|
521
519
  str.split(',', -1).each do |i|
@@ -525,140 +523,139 @@ clist = [
525
523
  end
526
524
 
527
525
  clist = [
528
- '331,331,48,331,117,281,1,179,217,330,117,389,28,218,219,331,5,330,219',
529
- '389,44,44,331,331,331,331,331,331,331,331,331,220,331,331,331,331,331',
530
- '331,331,331,331,331,248,48,28,331,331,331,179,217,331,331,331,281,218',
531
- '219,271,331,331,331,331,331,331,331,331,331,331,331,331,331,331,47,220',
532
- '46,7,331,331,331,331,339,339,277,339,248,339,339,339,339,24,120,27,279',
533
- '327,328,339,161,208,271,46,47,47,339,339,339,339,339,339,339,339,339',
534
- '329,339,339,339,339,339,339,339,339,339,339,120,277,51,339,339,339,161',
535
- '208,339,339,339,279,327,328,124,339,339,339,339,339,339,339,339,339',
536
- '339,339,339,339,339,185,329,51,272,339,339,339,339,340,340,124,340,32',
537
- '340,340,340,340,31,31,35,31,6,6,340,36,185,311,337,272,87,340,340,340',
538
- '340,340,340,340,340,340,394,340,340,340,340,340,340,340,340,340,340',
539
- '6,311,337,340,340,340,395,396,340,340,340,317,170,170,394,340,340,340',
540
- '340,340,340,340,340,340,340,340,340,340,340,88,317,395,396,340,340,340',
541
- '340,341,341,89,341,90,341,341,341,341,0,0,0,188,188,91,341,211,211,212',
542
- '212,213,213,341,341,341,341,341,341,341,341,341,93,341,341,341,341,341',
543
- '341,341,341,341,341,214,214,94,341,341,341,215,215,341,341,341,216,216',
544
- '222,222,341,341,341,341,341,341,341,341,341,341,341,341,341,341,365',
545
- '365,95,365,341,341,341,341,34,114,34,116,34,118,34,365,34,223,223,224',
546
- '224,34,365,365,365,365,365,365,365,365,365,121,365,365,365,365,365,365',
547
- '365,365,365,365,267,267,122,365,365,365,269,269,365,365,365,34,274,274',
548
- '128,365,365,365,365,365,365,365,365,365,365,365,365,365,365,384,384',
549
- '129,384,365,365,365,365,356,356,366,366,130,34,131,384,367,367,381,381',
550
- '387,387,384,384,384,384,384,384,384,384,384,132,384,384,384,384,384',
551
- '384,384,384,384,384,390,390,133,384,384,384,392,392,384,384,384,401',
552
- '401,416,416,384,384,384,384,384,384,384,384,384,384,384,384,384,384',
553
- '418,418,419,419,384,384,384,384,397,397,134,397,135,397,397,397,397',
554
- '136,137,138,139,140,141,397,142,143,146,147,149,151,397,397,397,397',
555
- '397,397,397,397,397,154,397,397,397,397,397,397,397,397,397,397,155',
556
- '162,163,397,397,397,164,190,397,397,397,206,221,226,231,397,397,397',
557
- '397,397,397,397,397,397,397,397,397,397,397,424,424,242,424,397,397',
558
- '397,397,243,244,245,246,247,249,250,424,253,256,258,259,260,261,424',
559
- '424,424,424,424,424,424,424,424,262,424,424,424,424,424,424,424,424',
560
- '424,424,264,282,286,424,424,424,288,289,424,424,424,293,307,308,309',
561
- '424,424,424,424,424,424,424,424,424,424,424,424,424,424,324,325,326',
562
- '334,424,424,424,424,49,338,342,49,49,49,49,343,344,346,49,49,49,364',
563
- '49,49,49,368,49,373,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49',
564
- '49,49,49,49,375,49,377,388,391,49,393,49,398,49,49,399,400,404,410,412',
565
- '49,49,49,49,49,49,49,415,421,425,49,49,49,,,,,49,49,49,49,157,,,157',
566
- '157,157,157,,,,157,157,157,,157,,157,,157,,157,157,157,157,157,157,157',
567
- '157,157,157,157,157,157,157,157,157,157,157,157,157,,157,,,,157,,,,',
568
- ',,,,,,157,157,157,157,157,157,157,,,,157,157,157,,,,,157,157,157,157',
569
- '196,,,196,196,196,196,,,,196,196,196,,196,196,196,,196,,196,196,196',
570
- '196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196',
571
- ',196,,,,196,,196,,196,196,,,,,,196,196,196,196,196,196,196,,,,196,196',
572
- '196,,,,,196,196,196,196,197,,,197,197,197,197,,,,197,197,197,,197,197',
573
- '197,,197,,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197',
574
- '197,197,197,197,197,,197,,,,197,,197,,197,197,,,,,,197,197,197,197,197',
575
- '197,197,,,,197,197,197,,,,,197,197,197,197,198,,,198,198,198,198,,,',
576
- '198,198,198,,198,198,198,,198,,198,198,198,198,198,198,198,198,198,198',
577
- '198,198,198,198,198,198,198,198,198,198,,198,,,,198,,198,,,198,,,,,',
578
- '198,198,198,198,198,198,198,,,,198,198,198,,,,,198,198,198,198,207,',
579
- ',207,207,207,207,,,,207,207,207,,207,207,207,,207,,207,207,207,207,207',
580
- '207,207,207,207,207,207,207,207,207,207,207,207,207,207,207,,207,,,',
581
- '207,,207,,207,207,,,,,,207,207,207,207,207,207,207,,,,207,207,207,,',
582
- ',,207,207,207,207,254,,,254,254,254,254,,,,254,254,254,,254,254,254',
583
- ',254,,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254',
584
- '254,254,254,254,,254,,,,254,115,254,,115,254,115,,,,,254,254,254,254',
585
- '254,254,254,,,,254,254,254,,,115,,254,254,254,254,30,30,30,30,,115,',
586
- '30,30,30,,,,,,,,30,30,30,30,30,30,30,30,30,,30,30,30,30,30,30,30,30',
587
- '30,30,,,,,,,,,144,,144,,,,,,30,30,30,30,30,30,30,,30,30,30,30,30,,,',
588
- ',30,30,30,30,166,166,166,166,,,,166,166,166,,,,,,144,144,166,166,166',
589
- '166,166,166,166,166,166,,166,166,166,166,166,166,166,166,166,166,144',
590
- ',,,,,,,,,,,,,,,166,166,166,166,166,166,166,,166,166,166,166,166,199',
591
- '199,199,199,166,166,166,166,,,,,,,,,,199,199,199,199,199,199,199,199',
592
- '199,,199,199,199,199,199,199,199,199,199,199,201,,201,,,,,199,,,199',
593
- ',,,,,199,199,199,199,199,199,199,203,,203,199,199,199,200,200,200,200',
594
- '199,199,199,199,,,,,,,,201,201,200,200,200,200,200,200,200,200,200,',
595
- '200,200,200,200,200,200,200,200,200,200,201,203,203,,,,,200,,,200,,',
596
- ',,,200,200,200,200,200,200,200,203,,,200,200,200,233,233,233,233,200',
597
- '200,200,200,,,,,,,,,,233,233,233,233,233,233,233,233,233,,233,233,233',
598
- '233,233,233,233,233,233,233,204,,204,205,,205,237,,237,,,,,,,,233,233',
599
- '233,233,233,233,233,,,,233,233,233,,,,,233,233,233,233,,,,,,,,204,204',
600
- ',205,205,,237,237,278,,278,,278,,278,,,278,278,278,,,204,,,205,,,237',
601
- ',285,,285,,285,,285,,278,285,285,285,,,,,,278,278,,,278,292,,292,,292',
602
- ',292,,285,292,292,292,,,,278,,285,285,,,285,336,,336,,336,,336,,292',
603
- '336,336,336,,,,285,,292,292,,,292,,,,,,,,,336,,,,,,,292,,336,336,,2',
604
- '336,,,,,,,,,2,2,2,,2,,2,336,2,,2,2,2,2,2,2,2,2,2,2,2,2,2,2,,,25,,,,',
605
- '2,,,,2,25,25,25,,25,,25,25,25,,25,25,25,25,25,25,25,25,25,25,25,25,25',
606
- '25,,,26,,,,,25,,,,25,26,26,26,,26,,26,,26,,26,26,26,26,26,26,26,26,26',
607
- '26,26,26,26,26,,,40,,,,,26,,,,26,40,40,40,,40,,40,,40,,40,40,40,40,40',
608
- '40,40,40,40,40,40,40,40,40,,,41,,,,,40,,,,40,41,41,41,,41,,41,,41,,41',
609
- '41,41,41,41,41,41,41,41,41,41,41,41,41,,,43,,,,,41,,,,41,43,43,43,,43',
610
- ',43,,43,,43,43,43,43,43,43,43,43,43,43,43,43,43,43,,,53,,,,,43,,,,43',
611
- '53,53,53,,53,,53,,53,,53,53,53,53,53,53,53,53,53,53,53,53,53,53,,,92',
612
- ',,,,53,,,,53,92,92,92,,92,,92,,92,,92,92,92,92,92,92,92,92,92,92,92',
613
- '92,92,92,,,126,,,,,92,,,,92,126,126,126,,126,,126,,126,,126,126,126',
614
- '126,126,126,126,126,126,126,126,126,126,126,,,158,,,,,126,,,,126,158',
615
- '158,158,,158,,158,,158,,158,158,158,158,158,158,158,158,158,158,158',
616
- '158,158,158,,,159,,,,,158,,,,158,159,159,159,,159,,159,,159,,159,159',
617
- '159,159,159,159,159,159,159,159,159,159,159,159,,,160,,,,,159,,,,159',
618
- '160,160,160,,160,,160,,160,,160,160,160,160,160,160,160,160,160,160',
619
- '160,160,160,160,,,167,,,,,160,,,,160,167,167,167,,167,,167,,167,,167',
620
- '167,167,167,167,167,167,167,167,167,167,167,167,167,,,168,,,,,167,,',
621
- ',167,168,168,168,,168,,168,,168,,168,168,168,168,168,168,168,168,168',
622
- '168,168,168,168,168,,,169,,,,,168,,,,168,169,169,169,,169,,169,,169',
623
- ',169,169,169,169,169,169,169,169,169,169,169,169,169,169,,,171,,,,,169',
624
- ',,,169,171,171,171,,171,,171,,171,,171,171,171,171,171,171,171,171,171',
625
- '171,171,171,171,171,,,172,,,,,171,,,,171,172,172,172,,172,,172,,172',
626
- ',172,172,172,172,172,172,172,172,172,172,172,172,172,172,,,173,,,,,172',
627
- ',,,172,173,173,173,,173,,173,,173,,173,173,173,173,173,173,173,173,173',
628
- '173,173,173,173,173,,,180,,,,,173,,,,173,180,180,180,,180,,180,,180',
629
- ',180,180,180,180,180,180,180,180,180,180,180,180,180,180,,,181,,,,,180',
630
- ',,,180,181,181,181,,181,,181,,181,,181,181,181,181,181,181,181,181,181',
631
- '181,181,181,181,181,,,183,,,,,181,,,,181,183,183,183,,183,,183,,183',
632
- ',183,183,183,183,183,183,183,183,183,183,183,183,183,183,,,202,,,,,183',
633
- ',,,183,202,202,202,,202,,202,,202,,202,202,202,202,202,202,202,202,202',
634
- '202,202,202,202,202,,,209,,,,,202,,,,202,209,209,209,,209,,209,,209',
635
- ',209,209,209,209,209,209,209,209,209,209,209,209,209,209,,,227,,,,,209',
636
- ',,,209,227,227,227,,227,,227,,227,,227,227,227,227,227,227,227,227,227',
637
- '227,227,227,227,227,,,251,,,,,227,,,,227,251,251,251,,251,,251,,251',
638
- ',251,251,251,251,251,251,251,251,251,251,251,251,251,251,,,280,,,,,251',
639
- ',,,251,280,280,280,,280,,280,,280,,280,280,280,280,280,280,280,280,280',
640
- '280,280,280,280,280,,,320,,,,,280,,,,280,320,320,320,,320,,320,,320',
641
- ',320,320,320,320,320,320,320,320,320,320,320,320,320,320,,,332,,,,,320',
642
- ',,,320,332,332,332,,332,,332,,332,,332,332,332,332,332,332,332,332,332',
643
- '332,332,332,332,332,,,333,,,,,332,,,,332,333,333,333,,333,,333,,333',
644
- ',333,333,333,333,333,333,333,333,333,333,333,333,333,333,,,372,,,,,333',
645
- ',,,333,372,372,372,,372,,372,,372,,372,372,372,372,372,372,372,372,372',
646
- '372,372,372,372,372,,,374,,,,,372,,,,372,374,374,374,,374,,374,,374',
647
- ',374,374,374,374,374,374,374,374,374,374,374,374,374,374,,,376,,,,,374',
648
- ',,,374,376,376,376,,376,,376,,376,,376,376,376,376,376,376,376,376,376',
649
- '376,376,376,376,376,,,378,,,,,376,,,,376,378,378,378,,378,,378,,378',
650
- ',378,378,378,378,378,378,378,378,378,378,378,378,378,378,,,379,,,,,378',
651
- ',,,378,379,379,379,,379,,379,,379,,379,379,379,379,379,379,379,379,379',
652
- '379,379,379,379,379,,,380,,,,,379,,,,379,380,380,380,,380,,380,,380',
653
- ',380,380,380,380,380,380,380,380,380,380,380,380,380,380,,,386,,,,,380',
654
- ',,,380,386,386,386,,386,,386,,386,,386,386,386,386,386,386,386,386,386',
655
- '386,386,386,386,386,,,402,,,,,386,,,,386,402,402,402,,402,,402,,402',
656
- ',402,402,402,402,402,402,402,402,402,402,402,402,402,402,,,405,,,,,402',
657
- ',,,402,405,405,405,,405,,405,,405,,405,405,405,405,405,405,405,405,405',
658
- '405,405,405,405,405,,,406,,,,,405,,,,405,406,406,406,,406,,406,,406',
659
- ',406,406,406,406,406,406,406,406,406,406,406,406,406,406,294,,,294,',
660
- '294,,406,294,,,406,,,,,,,,,,,,,,294,,294,294,294,294,294,,,,294,294' ]
661
- racc_action_check = arr = ::Array.new(3055, nil)
526
+ '323,323,48,323,1,277,5,177,215,7,322,379,28,216,217,323,24,216,322,379',
527
+ '44,44,323,323,323,323,323,323,323,323,323,245,323,323,323,323,323,323',
528
+ '323,323,323,323,267,48,28,323,323,323,177,215,323,323,323,277,216,217',
529
+ '273,323,323,323,323,323,323,323,323,323,323,323,323,323,323,47,245,46',
530
+ '27,323,323,323,323,330,330,275,330,267,330,330,330,330,32,119,35,319',
531
+ '320,321,330,160,206,273,46,47,47,330,330,330,330,330,330,330,330,330',
532
+ '123,330,330,330,330,330,330,330,330,330,330,119,275,51,330,330,330,160',
533
+ '206,330,330,330,319,320,321,123,330,330,330,330,330,330,330,330,330',
534
+ '330,330,330,330,330,6,6,51,183,330,330,330,330,331,331,36,331,116,331',
535
+ '331,331,331,87,116,31,31,88,31,331,89,268,304,328,183,6,331,331,331',
536
+ '331,331,331,331,331,331,384,331,331,331,331,331,331,331,331,331,331',
537
+ '268,304,328,331,331,331,385,386,331,331,331,310,169,169,384,331,331',
538
+ '331,331,331,331,331,331,331,331,331,331,331,331,90,310,385,386,331,331',
539
+ '331,331,332,332,91,332,93,332,332,332,332,0,0,0,186,186,94,332,209,209',
540
+ '210,210,211,211,332,332,332,332,332,332,332,332,332,95,332,332,332,332',
541
+ '332,332,332,332,332,332,212,212,113,332,332,332,213,213,332,332,332',
542
+ '214,214,220,220,332,332,332,332,332,332,332,332,332,332,332,332,332',
543
+ '332,356,356,115,356,332,332,332,332,34,117,34,120,34,121,34,356,34,221',
544
+ '221,222,222,34,356,356,356,356,356,356,356,356,356,127,356,356,356,356',
545
+ '356,356,356,356,356,356,264,264,128,356,356,356,270,270,356,356,356',
546
+ '34,347,347,129,356,356,356,356,356,356,356,356,356,356,356,356,356,356',
547
+ '374,374,130,374,356,356,356,356,357,357,358,358,131,34,132,374,371,371',
548
+ '377,377,380,380,374,374,374,374,374,374,374,374,374,133,374,374,374',
549
+ '374,374,374,374,374,374,374,382,382,134,374,374,374,391,391,374,374',
550
+ '374,406,406,408,408,374,374,374,374,374,374,374,374,374,374,374,374',
551
+ '374,374,409,409,135,136,374,374,374,374,387,387,137,387,138,387,387',
552
+ '387,387,139,140,141,142,145,146,387,148,150,153,154,161,162,387,387',
553
+ '387,387,387,387,387,387,387,163,387,387,387,387,387,387,387,387,387',
554
+ '387,188,204,218,387,387,387,219,224,387,387,387,229,240,241,242,387',
555
+ '387,387,387,387,387,387,387,387,387,387,387,387,387,414,414,243,414',
556
+ '387,387,387,387,244,246,247,251,254,256,257,414,258,259,261,279,281',
557
+ '282,414,414,414,414,414,414,414,414,414,286,414,414,414,414,414,414',
558
+ '414,414,414,414,300,301,302,414,414,414,316,317,414,414,414,318,326',
559
+ '329,333,414,414,414,414,414,414,414,414,414,414,414,414,414,414,334',
560
+ '335,337,355,414,414,414,414,49,359,363,49,49,49,49,365,367,378,49,49',
561
+ '49,381,49,49,49,383,49,388,49,49,49,49,49,49,49,49,49,49,49,49,49,49',
562
+ '49,49,49,49,49,49,389,49,390,394,400,49,402,49,405,49,49,411,415,,,',
563
+ '49,49,49,49,49,49,49,,,,49,49,49,,,,,49,49,49,49,156,,,156,156,156,156',
564
+ ',,,156,156,156,,156,,156,,156,,156,156,156,156,156,156,156,156,156,156',
565
+ '156,156,156,156,156,156,156,156,156,156,,156,,,114,156,,114,,114,,,',
566
+ ',,,156,156,156,156,156,156,156,,,,156,156,156,114,,,,156,156,156,156',
567
+ '194,,,194,194,194,194,,,,194,194,194,,194,194,194,,194,,194,194,194',
568
+ '194,194,194,194,194,194,194,194,194,194,194,194,194,194,194,194,194',
569
+ ',194,,,,194,,194,,194,194,,,,,,194,194,194,194,194,194,194,,,,194,194',
570
+ '194,,,,,194,194,194,194,195,,,195,195,195,195,,,,195,195,195,,195,195',
571
+ '195,,195,,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195',
572
+ '195,195,195,195,195,,195,,,,195,,195,,195,195,,,,,,195,195,195,195,195',
573
+ '195,195,,,,195,195,195,,,,,195,195,195,195,196,,,196,196,196,196,,,',
574
+ '196,196,196,,196,196,196,,196,,196,196,196,196,196,196,196,196,196,196',
575
+ '196,196,196,196,196,196,196,196,196,196,,196,,,,196,,196,,,196,,,,,',
576
+ '196,196,196,196,196,196,196,,,,196,196,196,,,,,196,196,196,196,205,',
577
+ ',205,205,205,205,,,,205,205,205,,205,205,205,,205,,205,205,205,205,205',
578
+ '205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,,205,,,',
579
+ '205,,205,,205,205,,,,,,205,205,205,205,205,205,205,,,,205,205,205,,',
580
+ ',,205,205,205,205,252,,,252,252,252,252,,,,252,252,252,,252,252,252',
581
+ ',252,,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252',
582
+ '252,252,252,252,,252,,,,252,,252,,,252,,,,,,252,252,252,252,252,252',
583
+ '252,,,,252,252,252,,,,,252,252,252,252,30,30,30,30,,,,30,30,30,,,,,',
584
+ ',,30,30,30,30,30,30,30,30,30,,30,30,30,30,30,30,30,30,30,30,,,,,,,,',
585
+ '143,,143,,,,,,30,30,30,30,30,30,30,,30,30,30,30,30,,,,,30,30,30,30,165',
586
+ '165,165,165,,,,165,165,165,,,,,,143,143,165,165,165,165,165,165,165',
587
+ '165,165,,165,165,165,165,165,165,165,165,165,165,143,,,,,,,,,,,,,,,',
588
+ '165,165,165,165,165,165,165,,165,165,165,165,165,197,197,197,197,165',
589
+ '165,165,165,,,,,,,,,,197,197,197,197,197,197,197,197,197,,197,197,197',
590
+ '197,197,197,197,197,197,197,199,,199,,,,,197,,,197,,,,,,197,197,197',
591
+ '197,197,197,197,201,,201,197,197,197,198,198,198,198,197,197,197,197',
592
+ ',,,,,,,199,199,198,198,198,198,198,198,198,198,198,,198,198,198,198',
593
+ '198,198,198,198,198,198,199,201,201,,,,,198,,,198,,,,,,198,198,198,198',
594
+ '198,198,198,201,,,198,198,198,231,231,231,231,198,198,198,198,,,,,,',
595
+ ',,,231,231,231,231,231,231,231,231,231,,231,231,231,231,231,231,231',
596
+ '231,231,231,202,,202,203,,203,235,,235,,,,,,,,231,231,231,231,231,231',
597
+ '231,,,,231,231,231,,,,,231,231,231,231,,,,,,,,202,202,,203,203,,235',
598
+ '235,274,,274,,274,,274,,,274,274,274,,,202,,,203,,,235,,278,,278,,278',
599
+ ',278,,274,278,278,278,,,,,,274,274,,,274,285,,285,,285,,285,,278,285',
600
+ '285,285,,,,274,,278,278,,287,278,,287,,287,,,287,,285,,,,,,,278,,285',
601
+ '285,,2,285,,287,,287,287,287,287,287,2,2,2,287,2,,2,285,2,,2,2,2,2,2',
602
+ '2,2,2,2,2,2,2,2,2,,,25,,,,,2,,,,2,25,25,25,,25,,25,25,25,,25,25,25,25',
603
+ '25,25,25,25,25,25,25,25,25,25,,,26,,,,,25,,,,25,26,26,26,,26,,26,,26',
604
+ ',26,26,26,26,26,26,26,26,26,26,26,26,26,26,,,40,,,,,26,,,,26,40,40,40',
605
+ ',40,,40,,40,,40,40,40,40,40,40,40,40,40,40,40,40,40,40,,,41,,,,,40,',
606
+ ',,40,41,41,41,,41,,41,,41,,41,41,41,41,41,41,41,41,41,41,41,41,41,41',
607
+ ',,43,,,,,41,,,,41,43,43,43,,43,,43,,43,,43,43,43,43,43,43,43,43,43,43',
608
+ '43,43,43,43,,,53,,,,,43,,,,43,53,53,53,,53,,53,,53,,53,53,53,53,53,53',
609
+ '53,53,53,53,53,53,53,53,,,92,,,,,53,,,,53,92,92,92,,92,,92,,92,,92,92',
610
+ '92,92,92,92,92,92,92,92,92,92,92,92,,,125,,,,,92,,,,92,125,125,125,',
611
+ '125,,125,,125,,125,125,125,125,125,125,125,125,125,125,125,125,125,125',
612
+ ',,157,,,,,125,,,,125,157,157,157,,157,,157,,157,,157,157,157,157,157',
613
+ '157,157,157,157,157,157,157,157,157,,,158,,,,,157,,,,157,158,158,158',
614
+ ',158,,158,,158,,158,158,158,158,158,158,158,158,158,158,158,158,158',
615
+ '158,,,159,,,,,158,,,,158,159,159,159,,159,,159,,159,,159,159,159,159',
616
+ '159,159,159,159,159,159,159,159,159,159,,,166,,,,,159,,,,159,166,166',
617
+ '166,,166,,166,,166,,166,166,166,166,166,166,166,166,166,166,166,166',
618
+ '166,166,,,167,,,,,166,,,,166,167,167,167,,167,,167,,167,,167,167,167',
619
+ '167,167,167,167,167,167,167,167,167,167,167,,,168,,,,,167,,,,167,168',
620
+ '168,168,,168,,168,,168,,168,168,168,168,168,168,168,168,168,168,168',
621
+ '168,168,168,,,170,,,,,168,,,,168,170,170,170,,170,,170,,170,,170,170',
622
+ '170,170,170,170,170,170,170,170,170,170,170,170,,,171,,,,,170,,,,170',
623
+ '171,171,171,,171,,171,,171,,171,171,171,171,171,171,171,171,171,171',
624
+ '171,171,171,171,,,172,,,,,171,,,,171,172,172,172,,172,,172,,172,,172',
625
+ '172,172,172,172,172,172,172,172,172,172,172,172,172,,,178,,,,,172,,',
626
+ ',172,178,178,178,,178,,178,,178,,178,178,178,178,178,178,178,178,178',
627
+ '178,178,178,178,178,,,179,,,,,178,,,,178,179,179,179,,179,,179,,179',
628
+ ',179,179,179,179,179,179,179,179,179,179,179,179,179,179,,,181,,,,,179',
629
+ ',,,179,181,181,181,,181,,181,,181,,181,181,181,181,181,181,181,181,181',
630
+ '181,181,181,181,181,,,200,,,,,181,,,,181,200,200,200,,200,,200,,200',
631
+ ',200,200,200,200,200,200,200,200,200,200,200,200,200,200,,,207,,,,,200',
632
+ ',,,200,207,207,207,,207,,207,,207,,207,207,207,207,207,207,207,207,207',
633
+ '207,207,207,207,207,,,225,,,,,207,,,,207,225,225,225,,225,,225,,225',
634
+ ',225,225,225,225,225,225,225,225,225,225,225,225,225,225,,,248,,,,,225',
635
+ ',,,225,248,248,248,,248,,248,,248,,248,248,248,248,248,248,248,248,248',
636
+ '248,248,248,248,248,,,276,,,,,248,,,,248,276,276,276,,276,,276,,276',
637
+ ',276,276,276,276,276,276,276,276,276,276,276,276,276,276,,,312,,,,,276',
638
+ ',,,276,312,312,312,,312,,312,,312,,312,312,312,312,312,312,312,312,312',
639
+ '312,312,312,312,312,,,324,,,,,312,,,,312,324,324,324,,324,,324,,324',
640
+ ',324,324,324,324,324,324,324,324,324,324,324,324,324,324,,,325,,,,,324',
641
+ ',,,324,325,325,325,,325,,325,,325,,325,325,325,325,325,325,325,325,325',
642
+ '325,325,325,325,325,,,362,,,,,325,,,,325,362,362,362,,362,,362,,362',
643
+ ',362,362,362,362,362,362,362,362,362,362,362,362,362,362,,,364,,,,,362',
644
+ ',,,362,364,364,364,,364,,364,,364,,364,364,364,364,364,364,364,364,364',
645
+ '364,364,364,364,364,,,366,,,,,364,,,,364,366,366,366,,366,,366,,366',
646
+ ',366,366,366,366,366,366,366,366,366,366,366,366,366,366,,,368,,,,,366',
647
+ ',,,366,368,368,368,,368,,368,,368,,368,368,368,368,368,368,368,368,368',
648
+ '368,368,368,368,368,,,369,,,,,368,,,,368,369,369,369,,369,,369,,369',
649
+ ',369,369,369,369,369,369,369,369,369,369,369,369,369,369,,,370,,,,,369',
650
+ ',,,369,370,370,370,,370,,370,,370,,370,370,370,370,370,370,370,370,370',
651
+ '370,370,370,370,370,,,376,,,,,370,,,,370,376,376,376,,376,,376,,376',
652
+ ',376,376,376,376,376,376,376,376,376,376,376,376,376,376,,,392,,,,,376',
653
+ ',,,376,392,392,392,,392,,392,,392,,392,392,392,392,392,392,392,392,392',
654
+ '392,392,392,392,392,,,395,,,,,392,,,,392,395,395,395,,395,,395,,395',
655
+ ',395,395,395,395,395,395,395,395,395,395,395,395,395,395,,,396,,,,,395',
656
+ ',,,395,396,396,396,,396,,396,,396,,396,396,396,396,396,396,396,396,396',
657
+ '396,396,396,396,396,,,,,,,,396,,,,396' ]
658
+ racc_action_check = arr = ::Array.new(3008, nil)
662
659
  idx = 0
663
660
  clist.each do |str|
664
661
  str.split(',', -1).each do |i|
@@ -668,200 +665,196 @@ clist = [
668
665
  end
669
666
 
670
667
  racc_action_pointer = [
671
- 173, 6, 1612, nil, nil, 16, 124, 23, nil, nil,
668
+ 173, 4, 1590, nil, nil, 6, 103, -42, nil, nil,
672
669
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
673
- nil, nil, nil, nil, 68, 1648, 1684, 72, -6, nil,
674
- 1140, 165, 158, nil, 316, 93, 154, nil, nil, nil,
675
- 1720, 1756, nil, 1792, -27, nil, 52, 52, -2, 604,
676
- nil, 101, nil, 1828, nil, nil, nil, nil, nil, nil,
670
+ nil, nil, nil, nil, -4, 1626, 1662, 56, -6, nil,
671
+ 1140, 167, 84, nil, 316, 14, 140, nil, nil, nil,
672
+ 1698, 1734, nil, 1770, -27, nil, 52, 52, -2, 604,
673
+ nil, 101, nil, 1806, nil, nil, nil, nil, nil, nil,
677
674
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
678
675
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
679
- nil, nil, nil, nil, nil, nil, nil, 156, 183, 184,
680
- 186, 196, 1864, 224, 237, 266, nil, nil, nil, nil,
676
+ nil, nil, nil, nil, nil, nil, nil, 144, 125, 119,
677
+ 174, 184, 1842, 197, 207, 224, nil, nil, nil, nil,
681
678
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
682
- nil, nil, nil, nil, 304, 1081, 275, 2, 277, nil,
683
- 71, 337, 304, nil, 114, nil, 1900, nil, 345, 379,
684
- 372, 349, 366, 379, 416, 418, 423, 424, 425, 426,
685
- 427, 428, 456, 431, 1189, nil, 432, 431, nil, 432,
686
- nil, 433, nil, nil, 443, 454, nil, 681, 1936, 1972,
687
- 2008, 77, 479, 452, 455, nil, 1214, 2044, 2080, 2116,
688
- 165, 2152, 2188, 2224, nil, nil, nil, nil, nil, 3,
689
- 2260, 2296, nil, 2332, nil, 129, nil, nil, 202, nil,
690
- 457, nil, nil, nil, nil, nil, 758, 835, 912, 1280,
691
- 1346, 1321, 2368, 1344, 1453, 1456, 488, 989, 78, 2404,
692
- nil, 206, 208, 210, 232, 238, 243, 4, 9, 10,
693
- 27, 456, 245, 278, 280, nil, 511, 2440, nil, nil,
694
- nil, 468, nil, 1412, nil, nil, nil, 1459, nil, nil,
695
- nil, nil, 512, 514, 487, 519, 520, 521, 38, 522,
696
- 538, 2476, nil, 494, 1066, nil, 496, nil, 529, 489,
697
- 470, 506, 514, nil, 551, nil, nil, 303, nil, 354,
698
- nil, 52, 132, nil, 285, nil, nil, 77, 1506, 87,
699
- 2512, -8, 553, nil, nil, 1528, 553, nil, 498, 576,
700
- nil, nil, 1550, 536, 2983, nil, nil, nil, nil, nil,
701
- nil, nil, nil, nil, nil, nil, nil, 539, 540, 528,
702
- nil, 155, nil, nil, nil, nil, nil, 168, nil, nil,
703
- 2548, nil, nil, nil, 568, 569, 570, 88, 89, 106,
704
- -63, -2, 2584, 2620, 592, nil, 1572, 156, 552, 77,
705
- 156, 235, 590, 595, 596, nil, 578, nil, nil, nil,
706
- nil, nil, nil, nil, nil, nil, 336, nil, nil, nil,
707
- nil, nil, nil, nil, 564, 306, 342, 348, 581, nil,
708
- nil, nil, 2656, 609, 2692, 630, 2728, 632, 2764, 2800,
709
- 2836, 365, nil, nil, 377, nil, 2872, 352, 607, 0,
710
- 374, 608, 380, 610, 168, 185, 186, 456, 599, 602,
711
- 628, 385, 2908, nil, 642, 2944, 2980, nil, nil, nil,
712
- 604, nil, 619, nil, nil, 614, 387, nil, 403, 405,
713
- nil, 625, nil, nil, 527, 615, nil, nil ]
679
+ nil, nil, nil, 268, 694, 266, 160, 273, nil, 71,
680
+ 317, 273, nil, 89, nil, 1878, nil, 320, 350, 345,
681
+ 337, 347, 349, 366, 379, 408, 409, 416, 418, 423,
682
+ 424, 451, 426, 1189, nil, 427, 426, nil, 428, nil,
683
+ 429, nil, nil, 430, 431, nil, 681, 1914, 1950, 1986,
684
+ 77, 456, 429, 438, nil, 1214, 2022, 2058, 2094, 165,
685
+ 2130, 2166, 2202, nil, nil, nil, nil, 3, 2238, 2274,
686
+ nil, 2310, nil, 132, nil, nil, 202, nil, 450, nil,
687
+ nil, nil, nil, nil, 758, 835, 912, 1280, 1346, 1321,
688
+ 2346, 1344, 1453, 1456, 478, 989, 78, 2382, nil, 206,
689
+ 208, 210, 232, 238, 243, 4, 9, 10, 446, 503,
690
+ 245, 278, 280, nil, 505, 2418, nil, nil, nil, 465,
691
+ nil, 1412, nil, nil, nil, 1459, nil, nil, nil, nil,
692
+ 493, 490, 463, 511, 517, 27, 518, 534, 2454, nil,
693
+ nil, 489, 1066, nil, 491, nil, 483, 464, 501, 500,
694
+ nil, 527, nil, nil, 303, nil, nil, 38, 154, nil,
695
+ 279, nil, nil, 52, 1506, 77, 2490, -8, 1528, 528,
696
+ nil, 470, 548, nil, nil, 1550, 514, 1537, nil, nil,
697
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
698
+ 527, 528, 516, nil, 155, nil, nil, nil, nil, nil,
699
+ 168, nil, 2526, nil, nil, nil, 545, 546, 550, 87,
700
+ 88, 89, -62, -2, 2562, 2598, 572, nil, 156, 527,
701
+ 77, 156, 235, 565, 580, 581, nil, 563, nil, nil,
702
+ nil, nil, nil, nil, nil, nil, nil, 311, nil, nil,
703
+ nil, nil, nil, nil, nil, 546, 306, 340, 342, 565,
704
+ nil, nil, 2634, 592, 2670, 597, 2706, 598, 2742, 2778,
705
+ 2814, 363, nil, nil, 377, nil, 2850, 350, 573, 0,
706
+ 352, 577, 374, 581, 168, 185, 186, 456, 570, 591,
707
+ 618, 380, 2886, nil, 632, 2922, 2958, nil, nil, nil,
708
+ 594, nil, 610, nil, nil, 599, 385, nil, 387, 403,
709
+ nil, 612, nil, nil, 527, 602, nil, nil ]
714
710
 
715
711
  racc_action_default = [
716
- -249, -249, -245, -6, -16, -249, -4, -161, -164, -165,
717
- -166, -167, -168, -169, -170, -171, -172, -173, -174, -175,
718
- -176, -177, -178, -179, -180, -245, -245, -249, -84, -188,
719
- -249, -249, -246, -248, -17, -4, -151, 428, -1, -5,
720
- -245, -245, -187, -245, -189, -182, -249, -249, -245, -245,
721
- -186, -249, -208, -245, -108, -109, -110, -111, -112, -113,
722
- -114, -115, -116, -117, -118, -119, -120, -121, -122, -123,
723
- -124, -125, -126, -127, -128, -129, -130, -131, -132, -133,
724
- -134, -135, -136, -137, -138, -139, -140, -249, -192, -249,
725
- -249, -249, -245, -249, -249, -249, -203, -204, -205, -206,
726
- -239, -240, -241, -242, -247, -2, -7, -8, -9, -10,
727
- -11, -12, -13, -14, -17, -249, -249, -249, -249, -3,
728
- -84, -249, -162, -163, -249, -183, -245, -184, -249, -249,
729
- -249, -174, -164, -168, -175, -176, -165, -166, -169, -170,
730
- -173, -167, -119, -171, -235, -201, -249, -212, -213, -215,
731
- -216, -218, -219, -222, -225, -227, -228, -245, -245, -245,
732
- -245, -249, -249, -249, -210, -191, -249, -245, -245, -245,
733
- -197, -245, -245, -245, -18, -15, -15, -15, -15, -245,
734
- -245, -245, -244, -245, -83, -249, -153, -181, -190, -185,
735
- -85, -229, -236, -237, -238, -202, -245, -245, -245, -223,
736
- -223, -235, -245, -235, -235, -235, -249, -245, -249, -245,
737
- -193, -194, -195, -196, -198, -199, -200, -245, -245, -245,
738
- -245, -249, -158, -159, -160, -152, -249, -245, -211, -219,
739
- -214, -221, -217, -249, -224, -226, -230, -235, -231, -232,
740
- -234, -86, -249, -249, -207, -151, -141, -141, -245, -141,
741
- -249, -245, -154, -209, -245, -233, -249, -87, -249, -23,
742
- -149, -28, -34, -30, -33, -61, -243, -157, -220, -249,
743
- -34, -245, -249, -143, -146, -150, -34, -245, -17, -245,
744
- -245, -17, -249, -20, -21, -17, -24, -142, -149, -249,
745
- -147, -148, -17, -29, -75, -27, -35, -36, -37, -38,
746
- -39, -40, -41, -42, -43, -44, -45, -249, -249, -249,
747
- -31, -249, -60, -62, -63, -64, -65, -75, -34, -22,
748
- -245, -144, -145, -26, -46, -46, -46, -245, -245, -245,
749
- -72, -249, -245, -245, -249, -32, -17, -249, -249, -249,
750
- -249, -249, -66, -68, -70, -73, -249, -76, -90, -91,
751
- -92, -93, -94, -95, -96, -97, -98, -101, -102, -103,
752
- -104, -105, -106, -107, -133, -249, -57, -58, -249, -19,
753
- -25, -47, -245, -54, -245, -54, -245, -54, -245, -245,
754
- -245, -77, -99, -100, -249, -155, -245, -48, -249, -249,
755
- -50, -249, -52, -249, -249, -249, -249, -249, -249, -249,
756
- -249, -59, -245, -55, -249, -245, -245, -67, -69, -71,
757
- -16, -88, -249, -78, -79, -249, -49, -56, -51, -53,
758
- -74, -80, -81, -89, -249, -16, -156, -82 ]
712
+ -246, -246, -242, -6, -15, -246, -4, -157, -160, -161,
713
+ -162, -163, -164, -165, -166, -167, -168, -169, -170, -171,
714
+ -172, -173, -174, -175, -176, -242, -242, -246, -80, -184,
715
+ -246, -246, -243, -245, -16, -4, -147, 418, -1, -5,
716
+ -242, -242, -183, -242, -185, -178, -246, -246, -242, -242,
717
+ -182, -246, -204, -242, -104, -105, -106, -107, -108, -109,
718
+ -110, -111, -112, -113, -114, -115, -116, -117, -118, -119,
719
+ -120, -121, -122, -123, -124, -125, -126, -127, -128, -129,
720
+ -130, -131, -132, -133, -134, -135, -136, -246, -188, -246,
721
+ -246, -246, -242, -246, -246, -246, -199, -200, -201, -202,
722
+ -235, -236, -237, -238, -244, -2, -7, -8, -9, -10,
723
+ -11, -12, -13, -16, -246, -246, -246, -246, -3, -80,
724
+ -246, -158, -159, -246, -179, -242, -180, -246, -246, -246,
725
+ -170, -160, -164, -171, -172, -161, -162, -165, -166, -169,
726
+ -163, -115, -167, -231, -197, -246, -208, -209, -211, -212,
727
+ -214, -215, -218, -221, -223, -224, -242, -242, -242, -242,
728
+ -246, -246, -246, -206, -187, -246, -242, -242, -242, -193,
729
+ -242, -242, -242, -17, -14, -14, -14, -242, -242, -242,
730
+ -240, -242, -79, -246, -149, -177, -186, -181, -81, -225,
731
+ -232, -233, -234, -198, -242, -242, -242, -219, -219, -231,
732
+ -242, -231, -231, -231, -246, -242, -246, -242, -189, -190,
733
+ -191, -192, -194, -195, -196, -242, -242, -242, -246, -246,
734
+ -154, -155, -156, -148, -246, -242, -207, -215, -210, -217,
735
+ -213, -246, -220, -222, -226, -231, -227, -228, -230, -82,
736
+ -246, -246, -203, -137, -137, -242, -137, -246, -242, -241,
737
+ -150, -205, -242, -229, -246, -83, -19, -145, -24, -30,
738
+ -26, -29, -57, -239, -153, -216, -30, -242, -246, -139,
739
+ -142, -146, -30, -242, -16, -242, -242, -16, -16, -20,
740
+ -138, -145, -246, -143, -144, -16, -25, -71, -23, -31,
741
+ -32, -33, -34, -35, -36, -37, -38, -39, -40, -41,
742
+ -246, -246, -246, -27, -246, -56, -58, -59, -60, -61,
743
+ -71, -18, -242, -140, -141, -22, -42, -42, -42, -242,
744
+ -242, -242, -68, -246, -242, -242, -246, -28, -246, -246,
745
+ -246, -246, -246, -62, -64, -66, -69, -246, -72, -86,
746
+ -87, -88, -89, -90, -91, -92, -93, -94, -97, -98,
747
+ -99, -100, -101, -102, -103, -129, -246, -53, -54, -246,
748
+ -21, -43, -242, -50, -242, -50, -242, -50, -242, -242,
749
+ -242, -73, -95, -96, -246, -151, -242, -44, -246, -246,
750
+ -46, -246, -48, -246, -246, -246, -246, -246, -246, -246,
751
+ -246, -55, -242, -51, -246, -242, -242, -63, -65, -67,
752
+ -15, -84, -246, -74, -75, -246, -45, -52, -47, -49,
753
+ -70, -76, -77, -85, -246, -15, -152, -78 ]
759
754
 
760
755
  racc_goto_table = [
761
- 6, 93, 117, 46, 92, 128, 120, 115, 164, 87,
762
- 365, 191, 202, 50, 130, 229, 129, 232, 373, 375,
763
- 377, 124, 231, 231, 47, 38, 278, 206, 262, 1,
764
- 273, 420, 34, 388, 285, 391, 35, 393, 122, 123,
765
- 292, 221, 259, 261, 385, 265, 427, 144, 217, 218,
766
- 219, 220, 106, 105, 119, 234, 235, 293, 321, 339,
767
- 340, 341, 282, 400, 270, 276, 310, 314, 236, 315,
768
- 238, 239, 240, 268, 243, 316, 412, 249, 281, 231,
769
- 313, 346, 336, 397, 410, 163, 272, 174, 202, 289,
770
- 170, 185, 230, 100, nil, nil, nil, nil, nil, nil,
771
- nil, nil, nil, 426, 255, 184, nil, nil, nil, nil,
772
- 264, nil, nil, nil, nil, nil, nil, nil, nil, nil,
773
- nil, nil, nil, nil, 188, nil, nil, nil, nil, nil,
774
- nil, nil, nil, nil, nil, nil, nil, 93, nil, 264,
775
- 92, 264, nil, nil, nil, 210, nil, nil, nil, nil,
776
- nil, nil, nil, nil, nil, 201, 203, 204, 205, nil,
777
- nil, 228, nil, nil, 244, 211, 212, 213, nil, 214,
778
- 215, 216, 242, nil, 245, 246, 247, nil, 222, 223,
779
- nil, 224, 253, nil, nil, 129, 129, 129, 250, 342,
780
- 343, 344, nil, nil, 144, 144, 144, nil, nil, nil,
781
- 237, nil, nil, nil, nil, 144, nil, nil, nil, nil,
782
- nil, nil, nil, nil, nil, 258, nil, nil, nil, nil,
783
- nil, nil, nil, nil, nil, nil, nil, nil, 286, nil,
784
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 129,
785
- nil, nil, nil, nil, nil, nil, 117, nil, nil, 267,
786
- nil, nil, 144, 117, 317, nil, nil, nil, 311, nil,
787
- 117, nil, nil, nil, nil, nil, nil, nil, nil, nil,
756
+ 6, 93, 129, 46, 92, 116, 127, 87, 114, 163,
757
+ 189, 200, 50, 204, 227, 38, 230, 259, 261, 128,
758
+ 356, 123, 229, 229, 47, 269, 410, 363, 365, 367,
759
+ 378, 1, 381, 34, 383, 215, 216, 217, 121, 122,
760
+ 35, 417, 106, 105, 118, 286, 261, 143, 261, 313,
761
+ 274, 256, 258, 375, 262, 232, 233, 278, 266, 241,
762
+ 330, 331, 332, 285, 272, 303, 234, 307, 236, 237,
763
+ 238, 390, 265, 308, 309, 246, 277, 306, 337, 229,
764
+ 387, 400, 119, 162, 402, 268, 200, 173, 282, 183,
765
+ 169, 218, 333, 334, 335, 228, 100, nil, nil, nil,
766
+ nil, nil, 253, 182, nil, nil, nil, nil, nil, nil,
767
+ nil, 416, nil, nil, nil, nil, nil, nil, nil, nil,
768
+ nil, nil, nil, 186, nil, nil, nil, nil, nil, nil,
769
+ nil, nil, nil, nil, nil, nil, 93, nil, nil, 92,
770
+ nil, nil, 208, nil, nil, nil, nil, 226, 219, nil,
771
+ nil, nil, nil, nil, 199, 201, 202, 203, 240, nil,
772
+ nil, nil, nil, 242, 209, 210, 211, nil, 212, 213,
773
+ 214, nil, nil, 243, 244, nil, 220, 221, nil, 222,
774
+ nil, 251, nil, nil, nil, nil, 128, 128, 247, nil,
775
+ nil, nil, 143, 143, 143, nil, nil, nil, 235, nil,
776
+ nil, nil, nil, 143, nil, nil, nil, nil, nil, nil,
777
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
778
+ nil, nil, nil, nil, nil, 279, nil, nil, nil, nil,
779
+ nil, nil, nil, nil, nil, nil, nil, nil, 128, nil,
780
+ nil, nil, nil, nil, nil, 116, 264, nil, nil, 116,
781
+ 143, 310, nil, nil, 304, nil, 116, nil, nil, nil,
782
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
788
783
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
789
784
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
790
- nil, nil, nil, nil, nil, nil, nil, nil, 337, nil,
791
- nil, nil, 363, nil, 117, nil, nil, nil, nil, nil,
792
- 363, 363, 363, 372, 374, 376, nil, nil, nil, nil,
785
+ 328, nil, nil, nil, 354, nil, nil, nil, nil, nil,
786
+ nil, 354, 354, 354, 362, 364, 366, nil, nil, nil,
793
787
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
794
- 366, 367, nil, nil, nil, nil, 363, nil, nil, nil,
788
+ nil, nil, 357, 358, nil, nil, nil, 354, nil, nil,
795
789
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
796
- nil, nil, nil, nil, nil, 363, 394, 395, 396, nil,
797
- nil, nil, nil, nil, nil, nil, nil, nil, 363, nil,
798
- 387, 411, 390, nil, 392, nil, nil, nil, nil, nil,
799
- nil, nil, nil, nil, 401, nil, nil, nil, nil, nil,
800
- nil, nil, nil, nil, nil, 363, nil, nil, nil, nil,
801
- 416, nil, nil, 418, 419 ]
790
+ nil, nil, nil, nil, nil, 354, 384, 385, 386, nil,
791
+ nil, nil, nil, nil, nil, nil, nil, nil, 354, nil,
792
+ 377, 401, 380, nil, 382, nil, nil, nil, nil, nil,
793
+ nil, nil, nil, nil, 391, nil, nil, nil, nil, nil,
794
+ nil, nil, nil, nil, nil, 354, nil, nil, nil, nil,
795
+ 406, nil, nil, 408, 409 ]
802
796
 
803
797
  racc_goto_check = [
804
- 2, 54, 60, 23, 37, 17, 18, 16, 61, 63,
805
- 38, 76, 65, 48, 50, 71, 60, 71, 38, 38,
806
- 38, 23, 66, 66, 2, 3, 20, 52, 25, 1,
807
- 56, 47, 4, 39, 20, 39, 5, 39, 2, 2,
808
- 20, 27, 21, 21, 38, 21, 47, 2, 14, 14,
809
- 14, 14, 6, 3, 3, 72, 72, 25, 56, 36,
810
- 36, 36, 19, 38, 22, 24, 26, 29, 76, 30,
811
- 76, 76, 76, 71, 52, 35, 38, 40, 41, 66,
812
- 42, 43, 20, 45, 46, 51, 55, 16, 65, 58,
813
- 2, 59, 67, 77, nil, nil, nil, nil, nil, nil,
814
- nil, nil, nil, 38, 76, 48, nil, nil, nil, nil,
815
- 27, nil, nil, nil, nil, nil, nil, nil, nil, nil,
816
- nil, nil, nil, nil, 2, nil, nil, nil, nil, nil,
817
- nil, nil, nil, nil, nil, nil, nil, 54, nil, 27,
818
- 37, 27, nil, nil, nil, 63, nil, nil, nil, nil,
819
- nil, nil, nil, nil, nil, 2, 2, 2, 2, nil,
820
- nil, 50, nil, nil, 61, 2, 2, 2, nil, 2,
821
- 2, 2, 50, nil, 17, 17, 17, nil, 2, 2,
822
- nil, 2, 61, nil, nil, 60, 60, 60, 60, 27,
823
- 27, 27, nil, nil, 2, 2, 2, nil, nil, nil,
824
- 2, nil, nil, nil, nil, 2, nil, nil, nil, nil,
825
- nil, nil, nil, nil, nil, 18, nil, nil, nil, nil,
826
- nil, nil, nil, nil, nil, nil, nil, nil, 17, nil,
827
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 60,
828
- nil, nil, nil, nil, nil, nil, 60, nil, nil, 2,
829
- nil, nil, 2, 60, 16, nil, nil, nil, 23, nil,
830
- 60, nil, nil, nil, nil, nil, nil, nil, nil, nil,
798
+ 2, 52, 48, 20, 34, 59, 16, 62, 15, 60,
799
+ 75, 64, 46, 50, 70, 3, 70, 22, 24, 59,
800
+ 35, 20, 65, 65, 2, 54, 44, 35, 35, 35,
801
+ 36, 1, 36, 4, 36, 13, 13, 13, 2, 2,
802
+ 5, 44, 6, 3, 3, 22, 24, 2, 24, 54,
803
+ 19, 17, 17, 35, 17, 71, 71, 19, 18, 50,
804
+ 33, 33, 33, 19, 21, 23, 75, 26, 75, 75,
805
+ 75, 35, 70, 27, 32, 37, 38, 39, 40, 65,
806
+ 42, 43, 45, 49, 35, 53, 64, 15, 56, 57,
807
+ 2, 58, 24, 24, 24, 66, 76, nil, nil, nil,
808
+ nil, nil, 75, 46, nil, nil, nil, nil, nil, nil,
809
+ nil, 35, nil, nil, nil, nil, nil, nil, nil, nil,
810
+ nil, nil, nil, 2, nil, nil, nil, nil, nil, nil,
811
+ nil, nil, nil, nil, nil, nil, 52, nil, nil, 34,
812
+ nil, nil, 62, nil, nil, nil, nil, 48, 59, nil,
813
+ nil, nil, nil, nil, 2, 2, 2, 2, 48, nil,
814
+ nil, nil, nil, 60, 2, 2, 2, nil, 2, 2,
815
+ 2, nil, nil, 16, 16, nil, 2, 2, nil, 2,
816
+ nil, 60, nil, nil, nil, nil, 59, 59, 59, nil,
817
+ nil, nil, 2, 2, 2, nil, nil, nil, 2, nil,
818
+ nil, nil, nil, 2, nil, nil, nil, nil, nil, nil,
819
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
820
+ nil, nil, nil, nil, nil, 16, nil, nil, nil, nil,
821
+ nil, nil, nil, nil, nil, nil, nil, nil, 59, nil,
822
+ nil, nil, nil, nil, nil, 59, 2, nil, nil, 59,
823
+ 2, 15, nil, nil, 20, nil, 59, nil, nil, nil,
824
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
831
825
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
832
826
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
833
- nil, nil, nil, nil, nil, nil, nil, nil, 23, nil,
834
- nil, nil, 54, nil, 60, nil, nil, nil, nil, nil,
835
- 54, 54, 54, 37, 37, 37, nil, nil, nil, nil,
827
+ 20, nil, nil, nil, 52, nil, nil, nil, nil, nil,
828
+ nil, 52, 52, 52, 34, 34, 34, nil, nil, nil,
836
829
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
837
- 2, 2, nil, nil, nil, nil, 54, nil, nil, nil,
830
+ nil, nil, 2, 2, nil, nil, nil, 52, nil, nil,
838
831
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
839
- nil, nil, nil, nil, nil, 54, 23, 23, 23, nil,
840
- nil, nil, nil, nil, nil, nil, nil, nil, 54, nil,
841
- 2, 37, 2, nil, 2, nil, nil, nil, nil, nil,
832
+ nil, nil, nil, nil, nil, 52, 20, 20, 20, nil,
833
+ nil, nil, nil, nil, nil, nil, nil, nil, 52, nil,
834
+ 2, 34, 2, nil, 2, nil, nil, nil, nil, nil,
842
835
  nil, nil, nil, nil, 2, nil, nil, nil, nil, nil,
843
- nil, nil, nil, nil, nil, 54, nil, nil, nil, nil,
836
+ nil, nil, nil, nil, nil, 52, nil, nil, nil, nil,
844
837
  2, nil, nil, 2, 2 ]
845
838
 
846
839
  racc_goto_pointer = [
847
- nil, 29, -2, 19, 29, 32, 18, nil, nil, nil,
848
- nil, nil, nil, nil, -127, nil, -27, -43, -30, -207,
849
- -236, -204, -195, -22, -196, -220, -213, -138, nil, -214,
850
- -212, nil, nil, nil, nil, -206, -265, -26, -321, -340,
851
- -143, -187, -201, -249, nil, -298, -313, -379, -15, nil,
852
- -35, 34, -134, nil, -29, -174, -230, nil, -185, -30,
853
- -32, -45, nil, -21, nil, -145, -175, -105, nil, nil,
854
- nil, -181, -144, nil, nil, nil, -133, 62 ]
840
+ nil, 31, -2, 9, 30, 36, 8, nil, nil, nil,
841
+ nil, nil, nil, -139, nil, -26, -42, -192, -198, -209,
842
+ -22, -194, -228, -210, -227, nil, -210, -204, nil, nil,
843
+ nil, nil, -203, -256, -26, -303, -333, -142, -186, -200,
844
+ -244, nil, -291, -306, -374, 46, -16, nil, -47, 32,
845
+ -147, nil, -29, -172, -232, nil, -182, -31, -86, -29,
846
+ -44, nil, -23, nil, -145, -173, -100, nil, nil, nil,
847
+ -180, -142, nil, nil, nil, -133, 65 ]
855
848
 
856
849
  racc_goto_default = [
857
- nil, nil, 44, nil, nil, 421, 306, 107, 108, 109,
858
- 110, 111, 112, 113, nil, 36, 294, 116, nil, nil,
859
- nil, nil, nil, nil, nil, nil, 263, 24, 296, 297,
860
- 298, 299, 300, 301, 302, 305, nil, 145, nil, nil,
861
- nil, nil, nil, nil, 330, nil, nil, nil, nil, 51,
862
- nil, nil, 52, 356, 146, nil, nil, 274, nil, nil,
863
- 31, 7, 29, nil, 88, 159, 147, 148, 149, 150,
864
- 151, 152, 153, 154, 155, 156, nil, nil ]
850
+ nil, nil, 44, nil, nil, 411, 299, 107, 108, 109,
851
+ 110, 111, 112, nil, 36, 287, 115, nil, nil, nil,
852
+ nil, nil, nil, 260, 24, 289, 290, 291, 292, 293,
853
+ 294, 295, 298, nil, 144, nil, nil, nil, nil, nil,
854
+ nil, 322, nil, nil, nil, nil, nil, 51, nil, nil,
855
+ 52, 347, 145, nil, nil, 270, nil, nil, nil, 31,
856
+ 7, 29, nil, 88, 158, 146, 147, 148, 149, 150,
857
+ 151, 152, 153, 154, 155, nil, nil ]
865
858
 
866
859
  racc_reduce_table = [
867
860
  0, 0, :racc_error,
@@ -878,245 +871,242 @@ racc_reduce_table = [
878
871
  1, 87, :_reduce_none,
879
872
  1, 87, :_reduce_none,
880
873
  1, 87, :_reduce_none,
881
- 1, 87, :_reduce_none,
874
+ 0, 94, :_reduce_14,
882
875
  0, 95, :_reduce_15,
883
876
  0, 96, :_reduce_16,
884
- 0, 97, :_reduce_17,
885
- 2, 97, :_reduce_18,
886
- 10, 94, :_reduce_19,
887
- 1, 100, :_reduce_none,
888
- 1, 100, :_reduce_none,
889
- 8, 93, :_reduce_22,
890
- 0, 103, :_reduce_23,
891
- 2, 103, :_reduce_24,
892
- 5, 103, :_reduce_25,
893
- 8, 92, :_reduce_26,
894
- 7, 92, :_reduce_27,
895
- 0, 105, :_reduce_28,
896
- 2, 105, :_reduce_29,
897
- 1, 106, :_reduce_30,
898
- 3, 106, :_reduce_31,
899
- 4, 107, :_reduce_32,
900
- 1, 107, :_reduce_33,
901
- 0, 101, :_reduce_34,
902
- 2, 101, :_reduce_35,
903
- 1, 109, :_reduce_none,
904
- 1, 109, :_reduce_none,
905
- 1, 109, :_reduce_none,
906
- 1, 109, :_reduce_none,
907
- 1, 109, :_reduce_none,
908
- 1, 109, :_reduce_none,
909
- 1, 109, :_reduce_42,
910
- 1, 109, :_reduce_43,
911
- 1, 109, :_reduce_none,
912
- 1, 109, :_reduce_none,
913
- 0, 117, :_reduce_46,
914
- 2, 117, :_reduce_47,
915
- 5, 115, :_reduce_48,
916
- 7, 115, :_reduce_49,
917
- 5, 115, :_reduce_50,
918
- 7, 115, :_reduce_51,
919
- 5, 115, :_reduce_52,
920
- 7, 115, :_reduce_53,
921
- 0, 120, :_reduce_54,
922
- 2, 120, :_reduce_55,
923
- 3, 120, :_reduce_56,
924
- 3, 114, :_reduce_57,
925
- 3, 114, :_reduce_58,
926
- 5, 114, :_reduce_59,
927
- 7, 91, :_reduce_60,
928
- 0, 122, :_reduce_61,
929
- 2, 122, :_reduce_62,
930
- 1, 123, :_reduce_63,
931
- 1, 123, :_reduce_64,
932
- 1, 123, :_reduce_none,
933
- 3, 111, :_reduce_66,
934
- 6, 111, :_reduce_67,
935
- 3, 112, :_reduce_68,
936
- 6, 112, :_reduce_69,
937
- 3, 113, :_reduce_70,
938
- 6, 113, :_reduce_71,
939
- 0, 124, :_reduce_72,
940
- 1, 124, :_reduce_73,
941
- 7, 110, :_reduce_74,
942
- 0, 125, :_reduce_none,
943
- 2, 125, :_reduce_76,
944
- 0, 126, :_reduce_77,
945
- 2, 126, :_reduce_78,
946
- 2, 126, :_reduce_79,
947
- 1, 128, :_reduce_80,
948
- 1, 128, :_reduce_81,
949
- 3, 128, :_reduce_82,
950
- 3, 86, :_reduce_83,
951
- 0, 130, :_reduce_84,
952
- 3, 130, :_reduce_85,
953
- 3, 132, :_reduce_86,
954
- 4, 132, :_reduce_87,
955
- 1, 127, :_reduce_none,
956
- 2, 127, :_reduce_89,
957
- 1, 119, :_reduce_none,
958
- 1, 119, :_reduce_none,
959
- 1, 119, :_reduce_none,
960
- 1, 119, :_reduce_none,
961
- 1, 119, :_reduce_none,
962
- 1, 119, :_reduce_none,
963
- 1, 119, :_reduce_none,
964
- 1, 119, :_reduce_none,
965
- 1, 119, :_reduce_none,
966
- 2, 119, :_reduce_99,
967
- 2, 119, :_reduce_100,
968
- 1, 119, :_reduce_none,
969
- 1, 119, :_reduce_none,
970
- 1, 119, :_reduce_none,
971
- 1, 134, :_reduce_none,
972
- 1, 134, :_reduce_none,
973
- 1, 134, :_reduce_none,
974
- 1, 134, :_reduce_none,
975
- 1, 135, :_reduce_none,
976
- 1, 135, :_reduce_none,
977
- 1, 135, :_reduce_none,
978
- 1, 135, :_reduce_none,
979
- 1, 135, :_reduce_none,
980
- 1, 135, :_reduce_none,
981
- 1, 135, :_reduce_none,
982
- 1, 135, :_reduce_none,
983
- 1, 135, :_reduce_none,
984
- 1, 135, :_reduce_none,
985
- 1, 135, :_reduce_none,
986
- 1, 135, :_reduce_none,
987
- 1, 135, :_reduce_none,
988
- 1, 135, :_reduce_none,
989
- 1, 135, :_reduce_none,
990
- 1, 135, :_reduce_none,
991
- 1, 135, :_reduce_none,
992
- 1, 135, :_reduce_none,
993
- 1, 135, :_reduce_none,
994
- 1, 135, :_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, 135, :_reduce_none,
1001
- 1, 135, :_reduce_none,
1002
- 1, 135, :_reduce_none,
1003
- 1, 135, :_reduce_none,
1004
- 1, 135, :_reduce_none,
1005
- 1, 135, :_reduce_none,
1006
- 1, 135, :_reduce_none,
1007
- 1, 135, :_reduce_none,
1008
- 0, 102, :_reduce_141,
1009
- 3, 102, :_reduce_142,
1010
- 1, 136, :_reduce_143,
1011
- 3, 136, :_reduce_144,
1012
- 3, 137, :_reduce_145,
1013
- 0, 139, :_reduce_146,
1014
- 1, 139, :_reduce_147,
1015
- 1, 139, :_reduce_148,
1016
- 0, 138, :_reduce_149,
1017
- 1, 138, :_reduce_150,
1018
- 0, 99, :_reduce_151,
1019
- 3, 99, :_reduce_152,
1020
- 1, 140, :_reduce_153,
1021
- 3, 140, :_reduce_154,
1022
- 4, 116, :_reduce_155,
1023
- 8, 116, :_reduce_156,
1024
- 5, 88, :_reduce_157,
1025
- 3, 89, :_reduce_158,
1026
- 3, 89, :_reduce_159,
1027
- 3, 90, :_reduce_160,
877
+ 2, 96, :_reduce_17,
878
+ 8, 93, :_reduce_18,
879
+ 0, 99, :_reduce_19,
880
+ 2, 99, :_reduce_20,
881
+ 5, 99, :_reduce_21,
882
+ 8, 92, :_reduce_22,
883
+ 7, 92, :_reduce_23,
884
+ 0, 102, :_reduce_24,
885
+ 2, 102, :_reduce_25,
886
+ 1, 103, :_reduce_26,
887
+ 3, 103, :_reduce_27,
888
+ 4, 104, :_reduce_28,
889
+ 1, 104, :_reduce_29,
890
+ 0, 100, :_reduce_30,
891
+ 2, 100, :_reduce_31,
892
+ 1, 106, :_reduce_none,
893
+ 1, 106, :_reduce_none,
894
+ 1, 106, :_reduce_none,
895
+ 1, 106, :_reduce_none,
896
+ 1, 106, :_reduce_none,
897
+ 1, 106, :_reduce_none,
898
+ 1, 106, :_reduce_38,
899
+ 1, 106, :_reduce_39,
900
+ 1, 106, :_reduce_none,
901
+ 1, 106, :_reduce_none,
902
+ 0, 114, :_reduce_42,
903
+ 2, 114, :_reduce_43,
904
+ 5, 112, :_reduce_44,
905
+ 7, 112, :_reduce_45,
906
+ 5, 112, :_reduce_46,
907
+ 7, 112, :_reduce_47,
908
+ 5, 112, :_reduce_48,
909
+ 7, 112, :_reduce_49,
910
+ 0, 117, :_reduce_50,
911
+ 2, 117, :_reduce_51,
912
+ 3, 117, :_reduce_52,
913
+ 3, 111, :_reduce_53,
914
+ 3, 111, :_reduce_54,
915
+ 5, 111, :_reduce_55,
916
+ 7, 91, :_reduce_56,
917
+ 0, 119, :_reduce_57,
918
+ 2, 119, :_reduce_58,
919
+ 1, 120, :_reduce_59,
920
+ 1, 120, :_reduce_60,
921
+ 1, 120, :_reduce_none,
922
+ 3, 108, :_reduce_62,
923
+ 6, 108, :_reduce_63,
924
+ 3, 109, :_reduce_64,
925
+ 6, 109, :_reduce_65,
926
+ 3, 110, :_reduce_66,
927
+ 6, 110, :_reduce_67,
928
+ 0, 121, :_reduce_68,
929
+ 1, 121, :_reduce_69,
930
+ 7, 107, :_reduce_70,
931
+ 0, 122, :_reduce_none,
932
+ 2, 122, :_reduce_72,
933
+ 0, 123, :_reduce_73,
934
+ 2, 123, :_reduce_74,
935
+ 2, 123, :_reduce_75,
936
+ 1, 125, :_reduce_76,
937
+ 1, 125, :_reduce_77,
938
+ 3, 125, :_reduce_78,
939
+ 3, 86, :_reduce_79,
940
+ 0, 128, :_reduce_80,
941
+ 3, 128, :_reduce_81,
942
+ 3, 130, :_reduce_82,
943
+ 4, 130, :_reduce_83,
944
+ 1, 124, :_reduce_none,
945
+ 2, 124, :_reduce_85,
946
+ 1, 116, :_reduce_none,
947
+ 1, 116, :_reduce_none,
948
+ 1, 116, :_reduce_none,
949
+ 1, 116, :_reduce_none,
950
+ 1, 116, :_reduce_none,
951
+ 1, 116, :_reduce_none,
952
+ 1, 116, :_reduce_none,
953
+ 1, 116, :_reduce_none,
954
+ 1, 116, :_reduce_none,
955
+ 2, 116, :_reduce_95,
956
+ 2, 116, :_reduce_96,
957
+ 1, 116, :_reduce_none,
958
+ 1, 116, :_reduce_none,
959
+ 1, 116, :_reduce_none,
960
+ 1, 132, :_reduce_none,
961
+ 1, 132, :_reduce_none,
962
+ 1, 132, :_reduce_none,
963
+ 1, 132, :_reduce_none,
964
+ 1, 133, :_reduce_none,
965
+ 1, 133, :_reduce_none,
966
+ 1, 133, :_reduce_none,
967
+ 1, 133, :_reduce_none,
968
+ 1, 133, :_reduce_none,
969
+ 1, 133, :_reduce_none,
970
+ 1, 133, :_reduce_none,
971
+ 1, 133, :_reduce_none,
972
+ 1, 133, :_reduce_none,
973
+ 1, 133, :_reduce_none,
974
+ 1, 133, :_reduce_none,
975
+ 1, 133, :_reduce_none,
976
+ 1, 133, :_reduce_none,
977
+ 1, 133, :_reduce_none,
978
+ 1, 133, :_reduce_none,
979
+ 1, 133, :_reduce_none,
980
+ 1, 133, :_reduce_none,
981
+ 1, 133, :_reduce_none,
982
+ 1, 133, :_reduce_none,
983
+ 1, 133, :_reduce_none,
984
+ 1, 133, :_reduce_none,
985
+ 1, 133, :_reduce_none,
986
+ 1, 133, :_reduce_none,
987
+ 1, 133, :_reduce_none,
988
+ 1, 133, :_reduce_none,
989
+ 1, 133, :_reduce_none,
990
+ 1, 133, :_reduce_none,
991
+ 1, 133, :_reduce_none,
992
+ 1, 133, :_reduce_none,
993
+ 1, 133, :_reduce_none,
994
+ 1, 133, :_reduce_none,
995
+ 1, 133, :_reduce_none,
996
+ 1, 133, :_reduce_none,
997
+ 0, 98, :_reduce_137,
998
+ 3, 98, :_reduce_138,
999
+ 1, 134, :_reduce_139,
1000
+ 3, 134, :_reduce_140,
1001
+ 3, 135, :_reduce_141,
1002
+ 0, 137, :_reduce_142,
1003
+ 1, 137, :_reduce_143,
1004
+ 1, 137, :_reduce_144,
1005
+ 0, 136, :_reduce_145,
1006
+ 1, 136, :_reduce_146,
1007
+ 0, 126, :_reduce_147,
1008
+ 3, 126, :_reduce_148,
1009
+ 1, 138, :_reduce_149,
1010
+ 3, 138, :_reduce_150,
1011
+ 4, 113, :_reduce_151,
1012
+ 8, 113, :_reduce_152,
1013
+ 5, 88, :_reduce_153,
1014
+ 3, 89, :_reduce_154,
1015
+ 3, 89, :_reduce_155,
1016
+ 3, 90, :_reduce_156,
1028
1017
  1, 83, :_reduce_none,
1029
- 3, 83, :_reduce_162,
1030
- 3, 83, :_reduce_163,
1031
- 1, 142, :_reduce_164,
1032
- 1, 142, :_reduce_165,
1033
- 1, 142, :_reduce_166,
1034
- 1, 142, :_reduce_167,
1035
- 1, 142, :_reduce_168,
1036
- 1, 142, :_reduce_169,
1037
- 1, 142, :_reduce_170,
1038
- 1, 142, :_reduce_171,
1039
- 1, 142, :_reduce_172,
1040
- 1, 142, :_reduce_173,
1041
- 1, 142, :_reduce_174,
1042
- 1, 142, :_reduce_175,
1043
- 1, 142, :_reduce_176,
1044
- 1, 142, :_reduce_177,
1045
- 1, 142, :_reduce_178,
1046
- 1, 142, :_reduce_179,
1047
- 1, 142, :_reduce_180,
1048
- 4, 142, :_reduce_181,
1049
- 2, 142, :_reduce_182,
1050
- 3, 142, :_reduce_183,
1051
- 3, 142, :_reduce_184,
1052
- 4, 142, :_reduce_185,
1053
- 2, 142, :_reduce_186,
1054
- 2, 142, :_reduce_187,
1055
- 1, 142, :_reduce_none,
1056
- 1, 104, :_reduce_189,
1057
- 3, 104, :_reduce_190,
1058
- 3, 143, :_reduce_191,
1059
- 1, 144, :_reduce_192,
1060
- 3, 144, :_reduce_193,
1061
- 3, 145, :_reduce_194,
1062
- 3, 145, :_reduce_195,
1063
- 3, 145, :_reduce_196,
1064
- 2, 145, :_reduce_197,
1065
- 3, 145, :_reduce_198,
1066
- 3, 145, :_reduce_199,
1067
- 3, 145, :_reduce_200,
1068
- 1, 146, :_reduce_none,
1069
- 2, 146, :_reduce_202,
1070
- 1, 118, :_reduce_none,
1071
- 1, 118, :_reduce_none,
1072
- 1, 118, :_reduce_none,
1073
- 1, 118, :_reduce_none,
1074
- 4, 129, :_reduce_207,
1018
+ 3, 83, :_reduce_158,
1019
+ 3, 83, :_reduce_159,
1020
+ 1, 141, :_reduce_160,
1021
+ 1, 141, :_reduce_161,
1022
+ 1, 141, :_reduce_162,
1023
+ 1, 141, :_reduce_163,
1024
+ 1, 141, :_reduce_164,
1025
+ 1, 141, :_reduce_165,
1026
+ 1, 141, :_reduce_166,
1027
+ 1, 141, :_reduce_167,
1028
+ 1, 141, :_reduce_168,
1029
+ 1, 141, :_reduce_169,
1030
+ 1, 141, :_reduce_170,
1031
+ 1, 141, :_reduce_171,
1032
+ 1, 141, :_reduce_172,
1033
+ 1, 141, :_reduce_173,
1034
+ 1, 141, :_reduce_174,
1035
+ 1, 141, :_reduce_175,
1036
+ 1, 141, :_reduce_176,
1037
+ 4, 141, :_reduce_177,
1038
+ 2, 141, :_reduce_178,
1039
+ 3, 141, :_reduce_179,
1040
+ 3, 141, :_reduce_180,
1041
+ 4, 141, :_reduce_181,
1042
+ 2, 141, :_reduce_182,
1043
+ 2, 141, :_reduce_183,
1044
+ 1, 141, :_reduce_none,
1045
+ 1, 101, :_reduce_185,
1046
+ 3, 101, :_reduce_186,
1047
+ 3, 142, :_reduce_187,
1048
+ 1, 143, :_reduce_188,
1049
+ 3, 143, :_reduce_189,
1050
+ 3, 144, :_reduce_190,
1051
+ 3, 144, :_reduce_191,
1052
+ 3, 144, :_reduce_192,
1053
+ 2, 144, :_reduce_193,
1054
+ 3, 144, :_reduce_194,
1055
+ 3, 144, :_reduce_195,
1056
+ 3, 144, :_reduce_196,
1057
+ 1, 145, :_reduce_none,
1058
+ 2, 145, :_reduce_198,
1059
+ 1, 115, :_reduce_none,
1060
+ 1, 115, :_reduce_none,
1061
+ 1, 115, :_reduce_none,
1062
+ 1, 115, :_reduce_none,
1063
+ 4, 127, :_reduce_203,
1064
+ 1, 127, :_reduce_204,
1065
+ 5, 131, :_reduce_205,
1066
+ 2, 131, :_reduce_206,
1067
+ 3, 129, :_reduce_207,
1075
1068
  1, 129, :_reduce_208,
1076
- 5, 133, :_reduce_209,
1077
- 2, 133, :_reduce_210,
1078
- 3, 131, :_reduce_211,
1079
- 1, 131, :_reduce_212,
1080
- 1, 131, :_reduce_none,
1081
- 3, 148, :_reduce_214,
1082
- 1, 148, :_reduce_215,
1083
- 1, 148, :_reduce_none,
1084
- 3, 150, :_reduce_217,
1085
- 1, 150, :_reduce_218,
1086
- 1, 150, :_reduce_none,
1069
+ 1, 129, :_reduce_none,
1070
+ 3, 147, :_reduce_210,
1071
+ 1, 147, :_reduce_211,
1072
+ 1, 147, :_reduce_none,
1073
+ 3, 149, :_reduce_213,
1074
+ 1, 149, :_reduce_214,
1075
+ 1, 149, :_reduce_none,
1076
+ 3, 151, :_reduce_216,
1077
+ 1, 151, :_reduce_217,
1078
+ 1, 151, :_reduce_none,
1079
+ 0, 152, :_reduce_219,
1087
1080
  3, 152, :_reduce_220,
1088
1081
  1, 152, :_reduce_221,
1089
- 1, 152, :_reduce_none,
1090
- 0, 153, :_reduce_223,
1091
- 3, 153, :_reduce_224,
1092
- 1, 153, :_reduce_225,
1093
- 3, 153, :_reduce_226,
1094
- 1, 153, :_reduce_227,
1095
- 1, 153, :_reduce_228,
1096
- 2, 147, :_reduce_229,
1097
- 3, 149, :_reduce_230,
1098
- 3, 151, :_reduce_231,
1099
- 3, 154, :_reduce_232,
1100
- 4, 155, :_reduce_233,
1101
- 3, 156, :_reduce_234,
1102
- 0, 157, :_reduce_none,
1082
+ 3, 152, :_reduce_222,
1083
+ 1, 152, :_reduce_223,
1084
+ 1, 152, :_reduce_224,
1085
+ 2, 146, :_reduce_225,
1086
+ 3, 148, :_reduce_226,
1087
+ 3, 150, :_reduce_227,
1088
+ 3, 153, :_reduce_228,
1089
+ 4, 154, :_reduce_229,
1090
+ 3, 155, :_reduce_230,
1091
+ 0, 156, :_reduce_none,
1092
+ 1, 156, :_reduce_none,
1093
+ 1, 156, :_reduce_none,
1094
+ 1, 156, :_reduce_none,
1095
+ 2, 105, :_reduce_235,
1103
1096
  1, 157, :_reduce_none,
1104
1097
  1, 157, :_reduce_none,
1105
1098
  1, 157, :_reduce_none,
1106
- 2, 108, :_reduce_239,
1107
- 1, 158, :_reduce_none,
1108
- 1, 158, :_reduce_none,
1109
- 1, 158, :_reduce_none,
1110
- 2, 121, :_reduce_243,
1111
- 2, 98, :_reduce_244,
1112
- 0, 141, :_reduce_245,
1113
- 1, 141, :_reduce_246,
1114
- 2, 141, :_reduce_247,
1115
- 1, 141, :_reduce_248 ]
1099
+ 2, 118, :_reduce_239,
1100
+ 2, 97, :_reduce_240,
1101
+ 2, 139, :_reduce_241,
1102
+ 0, 140, :_reduce_242,
1103
+ 1, 140, :_reduce_243,
1104
+ 2, 140, :_reduce_244,
1105
+ 1, 140, :_reduce_245 ]
1116
1106
 
1117
- racc_reduce_n = 249
1107
+ racc_reduce_n = 246
1118
1108
 
1119
- racc_shift_n = 428
1109
+ racc_shift_n = 418
1120
1110
 
1121
1111
  racc_token_table = {
1122
1112
  false => 0,
@@ -1316,16 +1306,13 @@ Racc_token_to_s_table = [
1316
1306
  "interface_decl",
1317
1307
  "module_decl",
1318
1308
  "class_decl",
1319
- "extension_decl",
1320
1309
  "start_new_scope",
1321
1310
  "start_merged_scope",
1322
1311
  "annotations",
1323
1312
  "class_name",
1324
- "type_params",
1325
- "extension_name",
1326
- "class_members",
1327
1313
  "module_type_params",
1328
1314
  "super_class",
1315
+ "class_members",
1329
1316
  "type_list",
1330
1317
  "colon_module_self_types",
1331
1318
  "module_self_types",
@@ -1351,6 +1338,7 @@ Racc_token_to_s_table = [
1351
1338
  "method_kind",
1352
1339
  "def_name",
1353
1340
  "method_types",
1341
+ "type_params",
1354
1342
  "proc_type",
1355
1343
  "params_opt",
1356
1344
  "params",
@@ -1363,6 +1351,7 @@ Racc_token_to_s_table = [
1363
1351
  "type_param_check",
1364
1352
  "type_param_variance",
1365
1353
  "type_params0",
1354
+ "type_alias_name",
1366
1355
  "namespace",
1367
1356
  "simple_type",
1368
1357
  "record_type",
@@ -1443,62 +1432,37 @@ module_eval(<<'.,.,', 'parser.y', 42)
1443
1432
 
1444
1433
  # reduce 13 omitted
1445
1434
 
1446
- # reduce 14 omitted
1447
-
1448
- module_eval(<<'.,.,', 'parser.y', 54)
1449
- def _reduce_15(val, _values, result)
1435
+ module_eval(<<'.,.,', 'parser.y', 53)
1436
+ def _reduce_14(val, _values, result)
1450
1437
  start_new_variables_scope
1451
1438
  result
1452
1439
  end
1453
1440
  .,.,
1454
1441
 
1455
- module_eval(<<'.,.,', 'parser.y', 55)
1456
- def _reduce_16(val, _values, result)
1442
+ module_eval(<<'.,.,', 'parser.y', 54)
1443
+ def _reduce_15(val, _values, result)
1457
1444
  start_merged_variables_scope
1458
1445
  result
1459
1446
  end
1460
1447
  .,.,
1461
1448
 
1462
- module_eval(<<'.,.,', 'parser.y', 58)
1463
- def _reduce_17(val, _values, result)
1449
+ module_eval(<<'.,.,', 'parser.y', 57)
1450
+ def _reduce_16(val, _values, result)
1464
1451
  result = []
1465
1452
  result
1466
1453
  end
1467
1454
  .,.,
1468
1455
 
1469
- module_eval(<<'.,.,', 'parser.y', 60)
1470
- def _reduce_18(val, _values, result)
1456
+ module_eval(<<'.,.,', 'parser.y', 59)
1457
+ def _reduce_17(val, _values, result)
1471
1458
  result = val[1].unshift(Annotation.new(string: val[0].value, location: val[0].location))
1472
1459
 
1473
1460
  result
1474
1461
  end
1475
1462
  .,.,
1476
1463
 
1477
- module_eval(<<'.,.,', 'parser.y', 65)
1478
- def _reduce_19(val, _values, result)
1479
- reset_variable_scope
1480
-
1481
- location = val[1].location + val[9].location
1482
- result = Declarations::Extension.new(
1483
- name: val[3].value,
1484
- type_params: val[4]&.value || [],
1485
- extension_name: val[6].value.to_sym,
1486
- members: val[8],
1487
- annotations: val[0],
1488
- location: location,
1489
- comment: leading_comment(val[0].first&.location || location)
1490
- )
1491
-
1492
- result
1493
- end
1494
- .,.,
1495
-
1496
- # reduce 20 omitted
1497
-
1498
- # reduce 21 omitted
1499
-
1500
- module_eval(<<'.,.,', 'parser.y', 83)
1501
- def _reduce_22(val, _values, result)
1464
+ module_eval(<<'.,.,', 'parser.y', 64)
1465
+ def _reduce_18(val, _values, result)
1502
1466
  reset_variable_scope
1503
1467
 
1504
1468
  location = val[1].location + val[7].location
@@ -1516,15 +1480,15 @@ module_eval(<<'.,.,', 'parser.y', 83)
1516
1480
  end
1517
1481
  .,.,
1518
1482
 
1519
- module_eval(<<'.,.,', 'parser.y', 98)
1520
- def _reduce_23(val, _values, result)
1483
+ module_eval(<<'.,.,', 'parser.y', 79)
1484
+ def _reduce_19(val, _values, result)
1521
1485
  result = nil
1522
1486
  result
1523
1487
  end
1524
1488
  .,.,
1525
1489
 
1526
- module_eval(<<'.,.,', 'parser.y', 100)
1527
- def _reduce_24(val, _values, result)
1490
+ module_eval(<<'.,.,', 'parser.y', 81)
1491
+ def _reduce_20(val, _values, result)
1528
1492
  result = Declarations::Class::Super.new(name: val[1].value,
1529
1493
  args: [],
1530
1494
  location: val[1].location)
@@ -1533,8 +1497,8 @@ module_eval(<<'.,.,', 'parser.y', 100)
1533
1497
  end
1534
1498
  .,.,
1535
1499
 
1536
- module_eval(<<'.,.,', 'parser.y', 105)
1537
- def _reduce_25(val, _values, result)
1500
+ module_eval(<<'.,.,', 'parser.y', 86)
1501
+ def _reduce_21(val, _values, result)
1538
1502
  result = Declarations::Class::Super.new(name: val[1].value,
1539
1503
  args: val[3],
1540
1504
  location: val[1].location + val[4].location)
@@ -1543,8 +1507,8 @@ module_eval(<<'.,.,', 'parser.y', 105)
1543
1507
  end
1544
1508
  .,.,
1545
1509
 
1546
- module_eval(<<'.,.,', 'parser.y', 112)
1547
- def _reduce_26(val, _values, result)
1510
+ module_eval(<<'.,.,', 'parser.y', 93)
1511
+ def _reduce_22(val, _values, result)
1548
1512
  reset_variable_scope
1549
1513
 
1550
1514
  location = val[1].location + val[7].location
@@ -1562,8 +1526,8 @@ module_eval(<<'.,.,', 'parser.y', 112)
1562
1526
  end
1563
1527
  .,.,
1564
1528
 
1565
- module_eval(<<'.,.,', 'parser.y', 126)
1566
- def _reduce_27(val, _values, result)
1529
+ module_eval(<<'.,.,', 'parser.y', 107)
1530
+ def _reduce_23(val, _values, result)
1567
1531
  reset_variable_scope
1568
1532
 
1569
1533
  location = val[1].location + val[6].location
@@ -1581,39 +1545,39 @@ module_eval(<<'.,.,', 'parser.y', 126)
1581
1545
  end
1582
1546
  .,.,
1583
1547
 
1584
- module_eval(<<'.,.,', 'parser.y', 141)
1585
- def _reduce_28(val, _values, result)
1548
+ module_eval(<<'.,.,', 'parser.y', 122)
1549
+ def _reduce_24(val, _values, result)
1586
1550
  result = []
1587
1551
  result
1588
1552
  end
1589
1553
  .,.,
1590
1554
 
1591
- module_eval(<<'.,.,', 'parser.y', 143)
1592
- def _reduce_29(val, _values, result)
1555
+ module_eval(<<'.,.,', 'parser.y', 124)
1556
+ def _reduce_25(val, _values, result)
1593
1557
  result = val[1]
1594
1558
 
1595
1559
  result
1596
1560
  end
1597
1561
  .,.,
1598
1562
 
1599
- module_eval(<<'.,.,', 'parser.y', 148)
1600
- def _reduce_30(val, _values, result)
1563
+ module_eval(<<'.,.,', 'parser.y', 129)
1564
+ def _reduce_26(val, _values, result)
1601
1565
  result = [val[0]]
1602
1566
 
1603
1567
  result
1604
1568
  end
1605
1569
  .,.,
1606
1570
 
1607
- module_eval(<<'.,.,', 'parser.y', 151)
1608
- def _reduce_31(val, _values, result)
1571
+ module_eval(<<'.,.,', 'parser.y', 132)
1572
+ def _reduce_27(val, _values, result)
1609
1573
  result = val[0].push(val[2])
1610
1574
 
1611
1575
  result
1612
1576
  end
1613
1577
  .,.,
1614
1578
 
1615
- module_eval(<<'.,.,', 'parser.y', 156)
1616
- def _reduce_32(val, _values, result)
1579
+ module_eval(<<'.,.,', 'parser.y', 137)
1580
+ def _reduce_28(val, _values, result)
1617
1581
  name = val[0].value
1618
1582
  args = val[2]
1619
1583
  location = val[0].location + val[3].location
@@ -1631,8 +1595,8 @@ module_eval(<<'.,.,', 'parser.y', 156)
1631
1595
  end
1632
1596
  .,.,
1633
1597
 
1634
- module_eval(<<'.,.,', 'parser.y', 170)
1635
- def _reduce_33(val, _values, result)
1598
+ module_eval(<<'.,.,', 'parser.y', 151)
1599
+ def _reduce_29(val, _values, result)
1636
1600
  name = val[0].value
1637
1601
  args = []
1638
1602
  location = val[0].location
@@ -1650,69 +1614,69 @@ module_eval(<<'.,.,', 'parser.y', 170)
1650
1614
  end
1651
1615
  .,.,
1652
1616
 
1653
- module_eval(<<'.,.,', 'parser.y', 185)
1654
- def _reduce_34(val, _values, result)
1617
+ module_eval(<<'.,.,', 'parser.y', 166)
1618
+ def _reduce_30(val, _values, result)
1655
1619
  result = []
1656
1620
  result
1657
1621
  end
1658
1622
  .,.,
1659
1623
 
1660
- module_eval(<<'.,.,', 'parser.y', 187)
1661
- def _reduce_35(val, _values, result)
1624
+ module_eval(<<'.,.,', 'parser.y', 168)
1625
+ def _reduce_31(val, _values, result)
1662
1626
  result = val[0].push(val[1])
1663
1627
 
1664
1628
  result
1665
1629
  end
1666
1630
  .,.,
1667
1631
 
1668
- # reduce 36 omitted
1632
+ # reduce 32 omitted
1669
1633
 
1670
- # reduce 37 omitted
1634
+ # reduce 33 omitted
1671
1635
 
1672
- # reduce 38 omitted
1636
+ # reduce 34 omitted
1673
1637
 
1674
- # reduce 39 omitted
1638
+ # reduce 35 omitted
1675
1639
 
1676
- # reduce 40 omitted
1640
+ # reduce 36 omitted
1677
1641
 
1678
- # reduce 41 omitted
1642
+ # reduce 37 omitted
1679
1643
 
1680
- module_eval(<<'.,.,', 'parser.y', 198)
1681
- def _reduce_42(val, _values, result)
1644
+ module_eval(<<'.,.,', 'parser.y', 179)
1645
+ def _reduce_38(val, _values, result)
1682
1646
  result = Members::Public.new(location: val[0].location)
1683
1647
 
1684
1648
  result
1685
1649
  end
1686
1650
  .,.,
1687
1651
 
1688
- module_eval(<<'.,.,', 'parser.y', 201)
1689
- def _reduce_43(val, _values, result)
1652
+ module_eval(<<'.,.,', 'parser.y', 182)
1653
+ def _reduce_39(val, _values, result)
1690
1654
  result = Members::Private.new(location: val[0].location)
1691
1655
 
1692
1656
  result
1693
1657
  end
1694
1658
  .,.,
1695
1659
 
1696
- # reduce 44 omitted
1660
+ # reduce 40 omitted
1697
1661
 
1698
- # reduce 45 omitted
1662
+ # reduce 41 omitted
1699
1663
 
1700
- module_eval(<<'.,.,', 'parser.y', 207)
1701
- def _reduce_46(val, _values, result)
1664
+ module_eval(<<'.,.,', 'parser.y', 188)
1665
+ def _reduce_42(val, _values, result)
1702
1666
  result = :instance
1703
1667
  result
1704
1668
  end
1705
1669
  .,.,
1706
1670
 
1707
- module_eval(<<'.,.,', 'parser.y', 208)
1708
- def _reduce_47(val, _values, result)
1671
+ module_eval(<<'.,.,', 'parser.y', 189)
1672
+ def _reduce_43(val, _values, result)
1709
1673
  result = :singleton
1710
1674
  result
1711
1675
  end
1712
1676
  .,.,
1713
1677
 
1714
- module_eval(<<'.,.,', 'parser.y', 212)
1715
- def _reduce_48(val, _values, result)
1678
+ module_eval(<<'.,.,', 'parser.y', 193)
1679
+ def _reduce_44(val, _values, result)
1716
1680
  location = val[1].location + val[4].location
1717
1681
  result = Members::AttrReader.new(name: val[3].value,
1718
1682
  ivar_name: nil,
@@ -1726,8 +1690,8 @@ module_eval(<<'.,.,', 'parser.y', 212)
1726
1690
  end
1727
1691
  .,.,
1728
1692
 
1729
- module_eval(<<'.,.,', 'parser.y', 222)
1730
- def _reduce_49(val, _values, result)
1693
+ module_eval(<<'.,.,', 'parser.y', 203)
1694
+ def _reduce_45(val, _values, result)
1731
1695
  location = val[1].location + val[6].location
1732
1696
  result = Members::AttrReader.new(name: val[3].value.to_sym,
1733
1697
  ivar_name: val[4],
@@ -1741,8 +1705,8 @@ module_eval(<<'.,.,', 'parser.y', 222)
1741
1705
  end
1742
1706
  .,.,
1743
1707
 
1744
- module_eval(<<'.,.,', 'parser.y', 232)
1745
- def _reduce_50(val, _values, result)
1708
+ module_eval(<<'.,.,', 'parser.y', 213)
1709
+ def _reduce_46(val, _values, result)
1746
1710
  location = val[1].location + val[4].location
1747
1711
  result = Members::AttrWriter.new(name: val[3].value,
1748
1712
  ivar_name: nil,
@@ -1756,8 +1720,8 @@ module_eval(<<'.,.,', 'parser.y', 232)
1756
1720
  end
1757
1721
  .,.,
1758
1722
 
1759
- module_eval(<<'.,.,', 'parser.y', 242)
1760
- def _reduce_51(val, _values, result)
1723
+ module_eval(<<'.,.,', 'parser.y', 223)
1724
+ def _reduce_47(val, _values, result)
1761
1725
  location = val[1].location + val[6].location
1762
1726
  result = Members::AttrWriter.new(name: val[3].value.to_sym,
1763
1727
  ivar_name: val[4],
@@ -1771,8 +1735,8 @@ module_eval(<<'.,.,', 'parser.y', 242)
1771
1735
  end
1772
1736
  .,.,
1773
1737
 
1774
- module_eval(<<'.,.,', 'parser.y', 252)
1775
- def _reduce_52(val, _values, result)
1738
+ module_eval(<<'.,.,', 'parser.y', 233)
1739
+ def _reduce_48(val, _values, result)
1776
1740
  location = val[1].location + val[4].location
1777
1741
  result = Members::AttrAccessor.new(name: val[3].value,
1778
1742
  ivar_name: nil,
@@ -1786,8 +1750,8 @@ module_eval(<<'.,.,', 'parser.y', 252)
1786
1750
  end
1787
1751
  .,.,
1788
1752
 
1789
- module_eval(<<'.,.,', 'parser.y', 262)
1790
- def _reduce_53(val, _values, result)
1753
+ module_eval(<<'.,.,', 'parser.y', 243)
1754
+ def _reduce_49(val, _values, result)
1791
1755
  location = val[1].location + val[6].location
1792
1756
  result = Members::AttrAccessor.new(name: val[3].value.to_sym,
1793
1757
  ivar_name: val[4],
@@ -1801,29 +1765,29 @@ module_eval(<<'.,.,', 'parser.y', 262)
1801
1765
  end
1802
1766
  .,.,
1803
1767
 
1804
- module_eval(<<'.,.,', 'parser.y', 273)
1805
- def _reduce_54(val, _values, result)
1768
+ module_eval(<<'.,.,', 'parser.y', 254)
1769
+ def _reduce_50(val, _values, result)
1806
1770
  result = nil
1807
1771
  result
1808
1772
  end
1809
1773
  .,.,
1810
1774
 
1811
- module_eval(<<'.,.,', 'parser.y', 274)
1812
- def _reduce_55(val, _values, result)
1775
+ module_eval(<<'.,.,', 'parser.y', 255)
1776
+ def _reduce_51(val, _values, result)
1813
1777
  result = false
1814
1778
  result
1815
1779
  end
1816
1780
  .,.,
1817
1781
 
1818
- module_eval(<<'.,.,', 'parser.y', 275)
1819
- def _reduce_56(val, _values, result)
1782
+ module_eval(<<'.,.,', 'parser.y', 256)
1783
+ def _reduce_52(val, _values, result)
1820
1784
  result = val[1].value
1821
1785
  result
1822
1786
  end
1823
1787
  .,.,
1824
1788
 
1825
- module_eval(<<'.,.,', 'parser.y', 279)
1826
- def _reduce_57(val, _values, result)
1789
+ module_eval(<<'.,.,', 'parser.y', 260)
1790
+ def _reduce_53(val, _values, result)
1827
1791
  location = val[0].location + val[2].location
1828
1792
  result = Members::InstanceVariable.new(
1829
1793
  name: val[0].value,
@@ -1836,8 +1800,8 @@ module_eval(<<'.,.,', 'parser.y', 279)
1836
1800
  end
1837
1801
  .,.,
1838
1802
 
1839
- module_eval(<<'.,.,', 'parser.y', 288)
1840
- def _reduce_58(val, _values, result)
1803
+ module_eval(<<'.,.,', 'parser.y', 269)
1804
+ def _reduce_54(val, _values, result)
1841
1805
  type = val[2]
1842
1806
 
1843
1807
  if type.is_a?(Types::Variable)
@@ -1860,8 +1824,8 @@ module_eval(<<'.,.,', 'parser.y', 288)
1860
1824
  end
1861
1825
  .,.,
1862
1826
 
1863
- module_eval(<<'.,.,', 'parser.y', 307)
1864
- def _reduce_59(val, _values, result)
1827
+ module_eval(<<'.,.,', 'parser.y', 288)
1828
+ def _reduce_55(val, _values, result)
1865
1829
  type = val[4]
1866
1830
 
1867
1831
  if type.is_a?(Types::Variable)
@@ -1884,8 +1848,8 @@ module_eval(<<'.,.,', 'parser.y', 307)
1884
1848
  end
1885
1849
  .,.,
1886
1850
 
1887
- module_eval(<<'.,.,', 'parser.y', 328)
1888
- def _reduce_60(val, _values, result)
1851
+ module_eval(<<'.,.,', 'parser.y', 309)
1852
+ def _reduce_56(val, _values, result)
1889
1853
  reset_variable_scope
1890
1854
 
1891
1855
  location = val[1].location + val[6].location
@@ -1902,23 +1866,23 @@ module_eval(<<'.,.,', 'parser.y', 328)
1902
1866
  end
1903
1867
  .,.,
1904
1868
 
1905
- module_eval(<<'.,.,', 'parser.y', 342)
1906
- def _reduce_61(val, _values, result)
1869
+ module_eval(<<'.,.,', 'parser.y', 323)
1870
+ def _reduce_57(val, _values, result)
1907
1871
  result = []
1908
1872
  result
1909
1873
  end
1910
1874
  .,.,
1911
1875
 
1912
- module_eval(<<'.,.,', 'parser.y', 344)
1913
- def _reduce_62(val, _values, result)
1876
+ module_eval(<<'.,.,', 'parser.y', 325)
1877
+ def _reduce_58(val, _values, result)
1914
1878
  result = val[0].push(val[1])
1915
1879
 
1916
1880
  result
1917
1881
  end
1918
1882
  .,.,
1919
1883
 
1920
- module_eval(<<'.,.,', 'parser.y', 349)
1921
- def _reduce_63(val, _values, result)
1884
+ module_eval(<<'.,.,', 'parser.y', 330)
1885
+ def _reduce_59(val, _values, result)
1922
1886
  unless val[0].kind == :instance
1923
1887
  raise SemanticsError.new("Interface cannot have singleton method", subject: val[0], location: val[0].location)
1924
1888
  end
@@ -1933,8 +1897,8 @@ module_eval(<<'.,.,', 'parser.y', 349)
1933
1897
  end
1934
1898
  .,.,
1935
1899
 
1936
- module_eval(<<'.,.,', 'parser.y', 360)
1937
- def _reduce_64(val, _values, result)
1900
+ module_eval(<<'.,.,', 'parser.y', 341)
1901
+ def _reduce_60(val, _values, result)
1938
1902
  unless val[0].name.interface?
1939
1903
  raise SemanticsError.new("Interface should include an interface", subject: val[0], location: val[0].location)
1940
1904
  end
@@ -1945,10 +1909,10 @@ module_eval(<<'.,.,', 'parser.y', 360)
1945
1909
  end
1946
1910
  .,.,
1947
1911
 
1948
- # reduce 65 omitted
1912
+ # reduce 61 omitted
1949
1913
 
1950
- module_eval(<<'.,.,', 'parser.y', 370)
1951
- def _reduce_66(val, _values, result)
1914
+ module_eval(<<'.,.,', 'parser.y', 351)
1915
+ def _reduce_62(val, _values, result)
1952
1916
  if val[2].value.alias?
1953
1917
  raise SemanticsError.new("Should include module or interface", subject: val[2].value, location: val[2].location)
1954
1918
  end
@@ -1963,8 +1927,8 @@ module_eval(<<'.,.,', 'parser.y', 370)
1963
1927
  end
1964
1928
  .,.,
1965
1929
 
1966
- module_eval(<<'.,.,', 'parser.y', 381)
1967
- def _reduce_67(val, _values, result)
1930
+ module_eval(<<'.,.,', 'parser.y', 362)
1931
+ def _reduce_63(val, _values, result)
1968
1932
  if val[2].value.alias?
1969
1933
  raise SemanticsError.new("Should include module or interface", subject: val[2].value, location: val[2].location)
1970
1934
  end
@@ -1979,8 +1943,8 @@ module_eval(<<'.,.,', 'parser.y', 381)
1979
1943
  end
1980
1944
  .,.,
1981
1945
 
1982
- module_eval(<<'.,.,', 'parser.y', 394)
1983
- def _reduce_68(val, _values, result)
1946
+ module_eval(<<'.,.,', 'parser.y', 375)
1947
+ def _reduce_64(val, _values, result)
1984
1948
  if val[2].value.alias?
1985
1949
  raise SemanticsError.new("Should extend module or interface", subject: val[2].value, location: val[2].location)
1986
1950
  end
@@ -1995,8 +1959,8 @@ module_eval(<<'.,.,', 'parser.y', 394)
1995
1959
  end
1996
1960
  .,.,
1997
1961
 
1998
- module_eval(<<'.,.,', 'parser.y', 405)
1999
- def _reduce_69(val, _values, result)
1962
+ module_eval(<<'.,.,', 'parser.y', 386)
1963
+ def _reduce_65(val, _values, result)
2000
1964
  if val[2].value.alias?
2001
1965
  raise SemanticsError.new("Should extend module or interface", subject: val[2].value, location: val[2].location)
2002
1966
  end
@@ -2011,8 +1975,8 @@ module_eval(<<'.,.,', 'parser.y', 405)
2011
1975
  end
2012
1976
  .,.,
2013
1977
 
2014
- module_eval(<<'.,.,', 'parser.y', 418)
2015
- def _reduce_70(val, _values, result)
1978
+ module_eval(<<'.,.,', 'parser.y', 399)
1979
+ def _reduce_66(val, _values, result)
2016
1980
  unless val[2].value.class?
2017
1981
  raise SemanticsError.new("Should prepend module", subject: val[2].value, location: val[2].location)
2018
1982
  end
@@ -2027,8 +1991,8 @@ module_eval(<<'.,.,', 'parser.y', 418)
2027
1991
  end
2028
1992
  .,.,
2029
1993
 
2030
- module_eval(<<'.,.,', 'parser.y', 429)
2031
- def _reduce_71(val, _values, result)
1994
+ module_eval(<<'.,.,', 'parser.y', 410)
1995
+ def _reduce_67(val, _values, result)
2032
1996
  unless val[2].value.class?
2033
1997
  raise SemanticsError.new("Should prepend module", subject: val[2].value, location: val[2].location)
2034
1998
  end
@@ -2043,15 +2007,15 @@ module_eval(<<'.,.,', 'parser.y', 429)
2043
2007
  end
2044
2008
  .,.,
2045
2009
 
2046
- module_eval(<<'.,.,', 'parser.y', 441)
2047
- def _reduce_72(val, _values, result)
2010
+ module_eval(<<'.,.,', 'parser.y', 422)
2011
+ def _reduce_68(val, _values, result)
2048
2012
  result = nil
2049
2013
  result
2050
2014
  end
2051
2015
  .,.,
2052
2016
 
2053
- module_eval(<<'.,.,', 'parser.y', 443)
2054
- def _reduce_73(val, _values, result)
2017
+ module_eval(<<'.,.,', 'parser.y', 424)
2018
+ def _reduce_69(val, _values, result)
2055
2019
  RBS.logger.warn "`overload def` syntax is deprecated. Use `...` syntax instead."
2056
2020
  result = val[0]
2057
2021
 
@@ -2059,8 +2023,8 @@ module_eval(<<'.,.,', 'parser.y', 443)
2059
2023
  end
2060
2024
  .,.,
2061
2025
 
2062
- module_eval(<<'.,.,', 'parser.y', 449)
2063
- def _reduce_74(val, _values, result)
2026
+ module_eval(<<'.,.,', 'parser.y', 430)
2027
+ def _reduce_70(val, _values, result)
2064
2028
  location = val[3].location + val[6].last.location
2065
2029
 
2066
2030
  last_type = val[6].last
@@ -2085,61 +2049,61 @@ module_eval(<<'.,.,', 'parser.y', 449)
2085
2049
  end
2086
2050
  .,.,
2087
2051
 
2088
- # reduce 75 omitted
2052
+ # reduce 71 omitted
2089
2053
 
2090
- module_eval(<<'.,.,', 'parser.y', 472)
2091
- def _reduce_76(val, _values, result)
2054
+ module_eval(<<'.,.,', 'parser.y', 453)
2055
+ def _reduce_72(val, _values, result)
2092
2056
  RBS.logger.warn "`incompatible` method attribute is deprecated and ignored."
2093
2057
 
2094
2058
  result
2095
2059
  end
2096
2060
  .,.,
2097
2061
 
2098
- module_eval(<<'.,.,', 'parser.y', 476)
2099
- def _reduce_77(val, _values, result)
2062
+ module_eval(<<'.,.,', 'parser.y', 457)
2063
+ def _reduce_73(val, _values, result)
2100
2064
  result = :instance
2101
2065
  result
2102
2066
  end
2103
2067
  .,.,
2104
2068
 
2105
- module_eval(<<'.,.,', 'parser.y', 477)
2106
- def _reduce_78(val, _values, result)
2069
+ module_eval(<<'.,.,', 'parser.y', 458)
2070
+ def _reduce_74(val, _values, result)
2107
2071
  result = :singleton
2108
2072
  result
2109
2073
  end
2110
2074
  .,.,
2111
2075
 
2112
- module_eval(<<'.,.,', 'parser.y', 478)
2113
- def _reduce_79(val, _values, result)
2076
+ module_eval(<<'.,.,', 'parser.y', 459)
2077
+ def _reduce_75(val, _values, result)
2114
2078
  result = :singleton_instance
2115
2079
  result
2116
2080
  end
2117
2081
  .,.,
2118
2082
 
2119
- module_eval(<<'.,.,', 'parser.y', 481)
2120
- def _reduce_80(val, _values, result)
2083
+ module_eval(<<'.,.,', 'parser.y', 462)
2084
+ def _reduce_76(val, _values, result)
2121
2085
  result = [val[0]]
2122
2086
  result
2123
2087
  end
2124
2088
  .,.,
2125
2089
 
2126
- module_eval(<<'.,.,', 'parser.y', 482)
2127
- def _reduce_81(val, _values, result)
2090
+ module_eval(<<'.,.,', 'parser.y', 463)
2091
+ def _reduce_77(val, _values, result)
2128
2092
  result = [LocatedValue.new(value: :dot3, location: val[0].location)]
2129
2093
  result
2130
2094
  end
2131
2095
  .,.,
2132
2096
 
2133
- module_eval(<<'.,.,', 'parser.y', 484)
2134
- def _reduce_82(val, _values, result)
2097
+ module_eval(<<'.,.,', 'parser.y', 465)
2098
+ def _reduce_78(val, _values, result)
2135
2099
  result = val[2].unshift(val[0])
2136
2100
 
2137
2101
  result
2138
2102
  end
2139
2103
  .,.,
2140
2104
 
2141
- module_eval(<<'.,.,', 'parser.y', 489)
2142
- def _reduce_83(val, _values, result)
2105
+ module_eval(<<'.,.,', 'parser.y', 470)
2106
+ def _reduce_79(val, _values, result)
2143
2107
  reset_variable_scope
2144
2108
 
2145
2109
  location = (val[1] || val[2]).location + val[2].location
@@ -2156,23 +2120,23 @@ module_eval(<<'.,.,', 'parser.y', 489)
2156
2120
  end
2157
2121
  .,.,
2158
2122
 
2159
- module_eval(<<'.,.,', 'parser.y', 503)
2160
- def _reduce_84(val, _values, result)
2123
+ module_eval(<<'.,.,', 'parser.y', 484)
2124
+ def _reduce_80(val, _values, result)
2161
2125
  result = nil
2162
2126
  result
2163
2127
  end
2164
2128
  .,.,
2165
2129
 
2166
- module_eval(<<'.,.,', 'parser.y', 505)
2167
- def _reduce_85(val, _values, result)
2130
+ module_eval(<<'.,.,', 'parser.y', 486)
2131
+ def _reduce_81(val, _values, result)
2168
2132
  result = LocatedValue.new(value: val[1], location: val[0].location + val[2].location)
2169
2133
 
2170
2134
  result
2171
2135
  end
2172
2136
  .,.,
2173
2137
 
2174
- module_eval(<<'.,.,', 'parser.y', 510)
2175
- def _reduce_86(val, _values, result)
2138
+ module_eval(<<'.,.,', 'parser.y', 491)
2139
+ def _reduce_82(val, _values, result)
2176
2140
  block = Types::Block.new(type: val[1].value, required: true)
2177
2141
  result = LocatedValue.new(value: block, location: val[0].location + val[2].location)
2178
2142
 
@@ -2180,8 +2144,8 @@ module_eval(<<'.,.,', 'parser.y', 510)
2180
2144
  end
2181
2145
  .,.,
2182
2146
 
2183
- module_eval(<<'.,.,', 'parser.y', 514)
2184
- def _reduce_87(val, _values, result)
2147
+ module_eval(<<'.,.,', 'parser.y', 495)
2148
+ def _reduce_83(val, _values, result)
2185
2149
  block = Types::Block.new(type: val[2].value, required: false)
2186
2150
  result = LocatedValue.new(value: block, location: val[0].location + val[3].location)
2187
2151
 
@@ -2189,10 +2153,10 @@ module_eval(<<'.,.,', 'parser.y', 514)
2189
2153
  end
2190
2154
  .,.,
2191
2155
 
2192
- # reduce 88 omitted
2156
+ # reduce 84 omitted
2193
2157
 
2194
- module_eval(<<'.,.,', 'parser.y', 521)
2195
- def _reduce_89(val, _values, result)
2158
+ module_eval(<<'.,.,', 'parser.y', 502)
2159
+ def _reduce_85(val, _values, result)
2196
2160
  result = LocatedValue.new(value: val[0].value.to_sym,
2197
2161
  location: val[0].location + val[1].location)
2198
2162
 
@@ -2200,6 +2164,14 @@ module_eval(<<'.,.,', 'parser.y', 521)
2200
2164
  end
2201
2165
  .,.,
2202
2166
 
2167
+ # reduce 86 omitted
2168
+
2169
+ # reduce 87 omitted
2170
+
2171
+ # reduce 88 omitted
2172
+
2173
+ # reduce 89 omitted
2174
+
2203
2175
  # reduce 90 omitted
2204
2176
 
2205
2177
  # reduce 91 omitted
@@ -2210,16 +2182,8 @@ module_eval(<<'.,.,', 'parser.y', 521)
2210
2182
 
2211
2183
  # reduce 94 omitted
2212
2184
 
2213
- # reduce 95 omitted
2214
-
2215
- # reduce 96 omitted
2216
-
2217
- # reduce 97 omitted
2218
-
2219
- # reduce 98 omitted
2220
-
2221
- module_eval(<<'.,.,', 'parser.y', 530)
2222
- def _reduce_99(val, _values, result)
2185
+ module_eval(<<'.,.,', 'parser.y', 511)
2186
+ def _reduce_95(val, _values, result)
2223
2187
  unless val[0].location.pred?(val[1].location)
2224
2188
  raise SyntaxError.new(token_str: "kQUESTION", error_value: val[1])
2225
2189
  end
@@ -2231,8 +2195,8 @@ module_eval(<<'.,.,', 'parser.y', 530)
2231
2195
  end
2232
2196
  .,.,
2233
2197
 
2234
- module_eval(<<'.,.,', 'parser.y', 538)
2235
- def _reduce_100(val, _values, result)
2198
+ module_eval(<<'.,.,', 'parser.y', 519)
2199
+ def _reduce_96(val, _values, result)
2236
2200
  unless val[0].location.pred?(val[1].location)
2237
2201
  raise SyntaxError.new(token_str: "kEXCLAMATION", error_value: val[1])
2238
2202
  end
@@ -2244,6 +2208,14 @@ module_eval(<<'.,.,', 'parser.y', 538)
2244
2208
  end
2245
2209
  .,.,
2246
2210
 
2211
+ # reduce 97 omitted
2212
+
2213
+ # reduce 98 omitted
2214
+
2215
+ # reduce 99 omitted
2216
+
2217
+ # reduce 100 omitted
2218
+
2247
2219
  # reduce 101 omitted
2248
2220
 
2249
2221
  # reduce 102 omitted
@@ -2316,23 +2288,15 @@ module_eval(<<'.,.,', 'parser.y', 538)
2316
2288
 
2317
2289
  # reduce 136 omitted
2318
2290
 
2319
- # reduce 137 omitted
2320
-
2321
- # reduce 138 omitted
2322
-
2323
- # reduce 139 omitted
2324
-
2325
- # reduce 140 omitted
2326
-
2327
- module_eval(<<'.,.,', 'parser.y', 558)
2328
- def _reduce_141(val, _values, result)
2291
+ module_eval(<<'.,.,', 'parser.y', 539)
2292
+ def _reduce_137(val, _values, result)
2329
2293
  result = nil
2330
2294
  result
2331
2295
  end
2332
2296
  .,.,
2333
2297
 
2334
- module_eval(<<'.,.,', 'parser.y', 560)
2335
- def _reduce_142(val, _values, result)
2298
+ module_eval(<<'.,.,', 'parser.y', 541)
2299
+ def _reduce_138(val, _values, result)
2336
2300
  val[1].each {|p| insert_bound_variable(p.name) }
2337
2301
 
2338
2302
  result = LocatedValue.new(value: val[1], location: val[0].location + val[2].location)
@@ -2341,8 +2305,8 @@ module_eval(<<'.,.,', 'parser.y', 560)
2341
2305
  end
2342
2306
  .,.,
2343
2307
 
2344
- module_eval(<<'.,.,', 'parser.y', 567)
2345
- def _reduce_143(val, _values, result)
2308
+ module_eval(<<'.,.,', 'parser.y', 548)
2309
+ def _reduce_139(val, _values, result)
2346
2310
  result = Declarations::ModuleTypeParams.new()
2347
2311
  result.add(val[0])
2348
2312
 
@@ -2350,16 +2314,16 @@ module_eval(<<'.,.,', 'parser.y', 567)
2350
2314
  end
2351
2315
  .,.,
2352
2316
 
2353
- module_eval(<<'.,.,', 'parser.y', 571)
2354
- def _reduce_144(val, _values, result)
2317
+ module_eval(<<'.,.,', 'parser.y', 552)
2318
+ def _reduce_140(val, _values, result)
2355
2319
  result = val[0].add(val[2])
2356
2320
 
2357
2321
  result
2358
2322
  end
2359
2323
  .,.,
2360
2324
 
2361
- module_eval(<<'.,.,', 'parser.y', 576)
2362
- def _reduce_145(val, _values, result)
2325
+ module_eval(<<'.,.,', 'parser.y', 557)
2326
+ def _reduce_141(val, _values, result)
2363
2327
  result = Declarations::ModuleTypeParams::TypeParam.new(name: val[2].value.to_sym,
2364
2328
  variance: val[1],
2365
2329
  skip_validation: val[0])
@@ -2368,50 +2332,50 @@ module_eval(<<'.,.,', 'parser.y', 576)
2368
2332
  end
2369
2333
  .,.,
2370
2334
 
2371
- module_eval(<<'.,.,', 'parser.y', 582)
2372
- def _reduce_146(val, _values, result)
2335
+ module_eval(<<'.,.,', 'parser.y', 563)
2336
+ def _reduce_142(val, _values, result)
2373
2337
  result = :invariant
2374
2338
  result
2375
2339
  end
2376
2340
  .,.,
2377
2341
 
2378
- module_eval(<<'.,.,', 'parser.y', 583)
2379
- def _reduce_147(val, _values, result)
2342
+ module_eval(<<'.,.,', 'parser.y', 564)
2343
+ def _reduce_143(val, _values, result)
2380
2344
  result = :covariant
2381
2345
  result
2382
2346
  end
2383
2347
  .,.,
2384
2348
 
2385
- module_eval(<<'.,.,', 'parser.y', 584)
2386
- def _reduce_148(val, _values, result)
2349
+ module_eval(<<'.,.,', 'parser.y', 565)
2350
+ def _reduce_144(val, _values, result)
2387
2351
  result = :contravariant
2388
2352
  result
2389
2353
  end
2390
2354
  .,.,
2391
2355
 
2392
- module_eval(<<'.,.,', 'parser.y', 587)
2393
- def _reduce_149(val, _values, result)
2356
+ module_eval(<<'.,.,', 'parser.y', 568)
2357
+ def _reduce_145(val, _values, result)
2394
2358
  result = false
2395
2359
  result
2396
2360
  end
2397
2361
  .,.,
2398
2362
 
2399
- module_eval(<<'.,.,', 'parser.y', 588)
2400
- def _reduce_150(val, _values, result)
2363
+ module_eval(<<'.,.,', 'parser.y', 569)
2364
+ def _reduce_146(val, _values, result)
2401
2365
  result = true
2402
2366
  result
2403
2367
  end
2404
2368
  .,.,
2405
2369
 
2406
- module_eval(<<'.,.,', 'parser.y', 591)
2407
- def _reduce_151(val, _values, result)
2370
+ module_eval(<<'.,.,', 'parser.y', 572)
2371
+ def _reduce_147(val, _values, result)
2408
2372
  result = nil
2409
2373
  result
2410
2374
  end
2411
2375
  .,.,
2412
2376
 
2413
- module_eval(<<'.,.,', 'parser.y', 593)
2414
- def _reduce_152(val, _values, result)
2377
+ module_eval(<<'.,.,', 'parser.y', 574)
2378
+ def _reduce_148(val, _values, result)
2415
2379
  val[1].each {|var| insert_bound_variable(var) }
2416
2380
 
2417
2381
  result = LocatedValue.new(value: val[1],
@@ -2421,24 +2385,24 @@ module_eval(<<'.,.,', 'parser.y', 593)
2421
2385
  end
2422
2386
  .,.,
2423
2387
 
2424
- module_eval(<<'.,.,', 'parser.y', 601)
2425
- def _reduce_153(val, _values, result)
2388
+ module_eval(<<'.,.,', 'parser.y', 582)
2389
+ def _reduce_149(val, _values, result)
2426
2390
  result = [val[0].value.to_sym]
2427
2391
 
2428
2392
  result
2429
2393
  end
2430
2394
  .,.,
2431
2395
 
2432
- module_eval(<<'.,.,', 'parser.y', 604)
2433
- def _reduce_154(val, _values, result)
2396
+ module_eval(<<'.,.,', 'parser.y', 585)
2397
+ def _reduce_150(val, _values, result)
2434
2398
  result = val[0].push(val[2].value.to_sym)
2435
2399
 
2436
2400
  result
2437
2401
  end
2438
2402
  .,.,
2439
2403
 
2440
- module_eval(<<'.,.,', 'parser.y', 609)
2441
- def _reduce_155(val, _values, result)
2404
+ module_eval(<<'.,.,', 'parser.y', 590)
2405
+ def _reduce_151(val, _values, result)
2442
2406
  location = val[1].location + val[3].location
2443
2407
  result = Members::Alias.new(
2444
2408
  new_name: val[2].value.to_sym,
@@ -2453,8 +2417,8 @@ module_eval(<<'.,.,', 'parser.y', 609)
2453
2417
  end
2454
2418
  .,.,
2455
2419
 
2456
- module_eval(<<'.,.,', 'parser.y', 620)
2457
- def _reduce_156(val, _values, result)
2420
+ module_eval(<<'.,.,', 'parser.y', 601)
2421
+ def _reduce_152(val, _values, result)
2458
2422
  location = val[1].location + val[7].location
2459
2423
  result = Members::Alias.new(
2460
2424
  new_name: val[4].value.to_sym,
@@ -2469,8 +2433,8 @@ module_eval(<<'.,.,', 'parser.y', 620)
2469
2433
  end
2470
2434
  .,.,
2471
2435
 
2472
- module_eval(<<'.,.,', 'parser.y', 633)
2473
- def _reduce_157(val, _values, result)
2436
+ module_eval(<<'.,.,', 'parser.y', 614)
2437
+ def _reduce_153(val, _values, result)
2474
2438
  location = val[1].location + val[4].location
2475
2439
  result = Declarations::Alias.new(name: val[2].value,
2476
2440
  type: val[4],
@@ -2482,8 +2446,8 @@ module_eval(<<'.,.,', 'parser.y', 633)
2482
2446
  end
2483
2447
  .,.,
2484
2448
 
2485
- module_eval(<<'.,.,', 'parser.y', 643)
2486
- def _reduce_158(val, _values, result)
2449
+ module_eval(<<'.,.,', 'parser.y', 624)
2450
+ def _reduce_154(val, _values, result)
2487
2451
  location = val[0].location + val[2].location
2488
2452
  result = Declarations::Constant.new(name: val[0].value,
2489
2453
  type: val[2],
@@ -2494,8 +2458,8 @@ module_eval(<<'.,.,', 'parser.y', 643)
2494
2458
  end
2495
2459
  .,.,
2496
2460
 
2497
- module_eval(<<'.,.,', 'parser.y', 650)
2498
- def _reduce_159(val, _values, result)
2461
+ module_eval(<<'.,.,', 'parser.y', 631)
2462
+ def _reduce_155(val, _values, result)
2499
2463
  location = (val[0] || val[1]).location + val[2].location
2500
2464
  name = TypeName.new(name: val[1].value, namespace: val[0]&.value || Namespace.empty)
2501
2465
  result = Declarations::Constant.new(name: name,
@@ -2507,8 +2471,8 @@ module_eval(<<'.,.,', 'parser.y', 650)
2507
2471
  end
2508
2472
  .,.,
2509
2473
 
2510
- module_eval(<<'.,.,', 'parser.y', 660)
2511
- def _reduce_160(val, _values, result)
2474
+ module_eval(<<'.,.,', 'parser.y', 641)
2475
+ def _reduce_156(val, _values, result)
2512
2476
  location = val[0].location + val[2].location
2513
2477
  result = Declarations::Global.new(name: val[0].value.to_sym,
2514
2478
  type: val[2],
@@ -2519,10 +2483,10 @@ module_eval(<<'.,.,', 'parser.y', 660)
2519
2483
  end
2520
2484
  .,.,
2521
2485
 
2522
- # reduce 161 omitted
2486
+ # reduce 157 omitted
2523
2487
 
2524
- module_eval(<<'.,.,', 'parser.y', 670)
2525
- def _reduce_162(val, _values, result)
2488
+ module_eval(<<'.,.,', 'parser.y', 651)
2489
+ def _reduce_158(val, _values, result)
2526
2490
  types = case l = val[0]
2527
2491
  when Types::Union
2528
2492
  l.types + [val[2]]
@@ -2536,8 +2500,8 @@ module_eval(<<'.,.,', 'parser.y', 670)
2536
2500
  end
2537
2501
  .,.,
2538
2502
 
2539
- module_eval(<<'.,.,', 'parser.y', 680)
2540
- def _reduce_163(val, _values, result)
2503
+ module_eval(<<'.,.,', 'parser.y', 661)
2504
+ def _reduce_159(val, _values, result)
2541
2505
  types = case l = val[0]
2542
2506
  when Types::Intersection
2543
2507
  l.types + [val[2]]
@@ -2552,16 +2516,16 @@ module_eval(<<'.,.,', 'parser.y', 680)
2552
2516
  end
2553
2517
  .,.,
2554
2518
 
2555
- module_eval(<<'.,.,', 'parser.y', 693)
2556
- def _reduce_164(val, _values, result)
2519
+ module_eval(<<'.,.,', 'parser.y', 674)
2520
+ def _reduce_160(val, _values, result)
2557
2521
  result = Types::Bases::Void.new(location: val[0].location)
2558
2522
 
2559
2523
  result
2560
2524
  end
2561
2525
  .,.,
2562
2526
 
2563
- module_eval(<<'.,.,', 'parser.y', 696)
2564
- def _reduce_165(val, _values, result)
2527
+ module_eval(<<'.,.,', 'parser.y', 677)
2528
+ def _reduce_161(val, _values, result)
2565
2529
  RBS.logger.warn "`any` type is deprecated. Use `untyped` instead. (#{val[0].location.to_s})"
2566
2530
  result = Types::Bases::Any.new(location: val[0].location)
2567
2531
 
@@ -2569,56 +2533,56 @@ module_eval(<<'.,.,', 'parser.y', 696)
2569
2533
  end
2570
2534
  .,.,
2571
2535
 
2572
- module_eval(<<'.,.,', 'parser.y', 700)
2573
- def _reduce_166(val, _values, result)
2536
+ module_eval(<<'.,.,', 'parser.y', 681)
2537
+ def _reduce_162(val, _values, result)
2574
2538
  result = Types::Bases::Any.new(location: val[0].location)
2575
2539
 
2576
2540
  result
2577
2541
  end
2578
2542
  .,.,
2579
2543
 
2580
- module_eval(<<'.,.,', 'parser.y', 703)
2581
- def _reduce_167(val, _values, result)
2544
+ module_eval(<<'.,.,', 'parser.y', 684)
2545
+ def _reduce_163(val, _values, result)
2582
2546
  result = Types::Bases::Bool.new(location: val[0].location)
2583
2547
 
2584
2548
  result
2585
2549
  end
2586
2550
  .,.,
2587
2551
 
2588
- module_eval(<<'.,.,', 'parser.y', 706)
2589
- def _reduce_168(val, _values, result)
2552
+ module_eval(<<'.,.,', 'parser.y', 687)
2553
+ def _reduce_164(val, _values, result)
2590
2554
  result = Types::Bases::Nil.new(location: val[0].location)
2591
2555
 
2592
2556
  result
2593
2557
  end
2594
2558
  .,.,
2595
2559
 
2596
- module_eval(<<'.,.,', 'parser.y', 709)
2597
- def _reduce_169(val, _values, result)
2560
+ module_eval(<<'.,.,', 'parser.y', 690)
2561
+ def _reduce_165(val, _values, result)
2598
2562
  result = Types::Bases::Top.new(location: val[0].location)
2599
2563
 
2600
2564
  result
2601
2565
  end
2602
2566
  .,.,
2603
2567
 
2604
- module_eval(<<'.,.,', 'parser.y', 712)
2605
- def _reduce_170(val, _values, result)
2568
+ module_eval(<<'.,.,', 'parser.y', 693)
2569
+ def _reduce_166(val, _values, result)
2606
2570
  result = Types::Bases::Bottom.new(location: val[0].location)
2607
2571
 
2608
2572
  result
2609
2573
  end
2610
2574
  .,.,
2611
2575
 
2612
- module_eval(<<'.,.,', 'parser.y', 715)
2613
- def _reduce_171(val, _values, result)
2576
+ module_eval(<<'.,.,', 'parser.y', 696)
2577
+ def _reduce_167(val, _values, result)
2614
2578
  result = Types::Bases::Self.new(location: val[0].location)
2615
2579
 
2616
2580
  result
2617
2581
  end
2618
2582
  .,.,
2619
2583
 
2620
- module_eval(<<'.,.,', 'parser.y', 718)
2621
- def _reduce_172(val, _values, result)
2584
+ module_eval(<<'.,.,', 'parser.y', 699)
2585
+ def _reduce_168(val, _values, result)
2622
2586
  result = Types::Optional.new(type: Types::Bases::Self.new(location: val[0].location),
2623
2587
  location: val[0].location)
2624
2588
 
@@ -2626,64 +2590,64 @@ module_eval(<<'.,.,', 'parser.y', 718)
2626
2590
  end
2627
2591
  .,.,
2628
2592
 
2629
- module_eval(<<'.,.,', 'parser.y', 722)
2630
- def _reduce_173(val, _values, result)
2593
+ module_eval(<<'.,.,', 'parser.y', 703)
2594
+ def _reduce_169(val, _values, result)
2631
2595
  result = Types::Bases::Instance.new(location: val[0].location)
2632
2596
 
2633
2597
  result
2634
2598
  end
2635
2599
  .,.,
2636
2600
 
2637
- module_eval(<<'.,.,', 'parser.y', 725)
2638
- def _reduce_174(val, _values, result)
2601
+ module_eval(<<'.,.,', 'parser.y', 706)
2602
+ def _reduce_170(val, _values, result)
2639
2603
  result = Types::Bases::Class.new(location: val[0].location)
2640
2604
 
2641
2605
  result
2642
2606
  end
2643
2607
  .,.,
2644
2608
 
2645
- module_eval(<<'.,.,', 'parser.y', 728)
2646
- def _reduce_175(val, _values, result)
2609
+ module_eval(<<'.,.,', 'parser.y', 709)
2610
+ def _reduce_171(val, _values, result)
2647
2611
  result = Types::Literal.new(literal: true, location: val[0].location)
2648
2612
 
2649
2613
  result
2650
2614
  end
2651
2615
  .,.,
2652
2616
 
2653
- module_eval(<<'.,.,', 'parser.y', 731)
2654
- def _reduce_176(val, _values, result)
2617
+ module_eval(<<'.,.,', 'parser.y', 712)
2618
+ def _reduce_172(val, _values, result)
2655
2619
  result = Types::Literal.new(literal: false, location: val[0].location)
2656
2620
 
2657
2621
  result
2658
2622
  end
2659
2623
  .,.,
2660
2624
 
2661
- module_eval(<<'.,.,', 'parser.y', 734)
2662
- def _reduce_177(val, _values, result)
2625
+ module_eval(<<'.,.,', 'parser.y', 715)
2626
+ def _reduce_173(val, _values, result)
2663
2627
  result = Types::Literal.new(literal: val[0].value, location: val[0].location)
2664
2628
 
2665
2629
  result
2666
2630
  end
2667
2631
  .,.,
2668
2632
 
2669
- module_eval(<<'.,.,', 'parser.y', 737)
2670
- def _reduce_178(val, _values, result)
2633
+ module_eval(<<'.,.,', 'parser.y', 718)
2634
+ def _reduce_174(val, _values, result)
2671
2635
  result = Types::Literal.new(literal: val[0].value, location: val[0].location)
2672
2636
 
2673
2637
  result
2674
2638
  end
2675
2639
  .,.,
2676
2640
 
2677
- module_eval(<<'.,.,', 'parser.y', 740)
2678
- def _reduce_179(val, _values, result)
2641
+ module_eval(<<'.,.,', 'parser.y', 721)
2642
+ def _reduce_175(val, _values, result)
2679
2643
  result = Types::Literal.new(literal: val[0].value, location: val[0].location)
2680
2644
 
2681
2645
  result
2682
2646
  end
2683
2647
  .,.,
2684
2648
 
2685
- module_eval(<<'.,.,', 'parser.y', 743)
2686
- def _reduce_180(val, _values, result)
2649
+ module_eval(<<'.,.,', 'parser.y', 724)
2650
+ def _reduce_176(val, _values, result)
2687
2651
  name = val[0].value
2688
2652
  args = []
2689
2653
  location = val[0].location
@@ -2705,8 +2669,8 @@ module_eval(<<'.,.,', 'parser.y', 743)
2705
2669
  end
2706
2670
  .,.,
2707
2671
 
2708
- module_eval(<<'.,.,', 'parser.y', 761)
2709
- def _reduce_181(val, _values, result)
2672
+ module_eval(<<'.,.,', 'parser.y', 742)
2673
+ def _reduce_177(val, _values, result)
2710
2674
  name = val[0].value
2711
2675
  args = val[2]
2712
2676
  location = val[0].location + val[3].location
@@ -2727,8 +2691,8 @@ module_eval(<<'.,.,', 'parser.y', 761)
2727
2691
  end
2728
2692
  .,.,
2729
2693
 
2730
- module_eval(<<'.,.,', 'parser.y', 778)
2731
- def _reduce_182(val, _values, result)
2694
+ module_eval(<<'.,.,', 'parser.y', 759)
2695
+ def _reduce_178(val, _values, result)
2732
2696
  location = val[0].location + val[1].location
2733
2697
  result = Types::Tuple.new(types: [], location: location)
2734
2698
 
@@ -2736,8 +2700,8 @@ module_eval(<<'.,.,', 'parser.y', 778)
2736
2700
  end
2737
2701
  .,.,
2738
2702
 
2739
- module_eval(<<'.,.,', 'parser.y', 782)
2740
- def _reduce_183(val, _values, result)
2703
+ module_eval(<<'.,.,', 'parser.y', 763)
2704
+ def _reduce_179(val, _values, result)
2741
2705
  location = val[0].location + val[2].location
2742
2706
  types = val[1]
2743
2707
  result = Types::Tuple.new(types: types, location: location)
@@ -2746,8 +2710,8 @@ module_eval(<<'.,.,', 'parser.y', 782)
2746
2710
  end
2747
2711
  .,.,
2748
2712
 
2749
- module_eval(<<'.,.,', 'parser.y', 787)
2750
- def _reduce_184(val, _values, result)
2713
+ module_eval(<<'.,.,', 'parser.y', 768)
2714
+ def _reduce_180(val, _values, result)
2751
2715
  type = val[1].dup
2752
2716
  type.instance_eval do
2753
2717
  @location = val[0].location + val[2].location
@@ -2758,8 +2722,8 @@ module_eval(<<'.,.,', 'parser.y', 787)
2758
2722
  end
2759
2723
  .,.,
2760
2724
 
2761
- module_eval(<<'.,.,', 'parser.y', 794)
2762
- def _reduce_185(val, _values, result)
2725
+ module_eval(<<'.,.,', 'parser.y', 775)
2726
+ def _reduce_181(val, _values, result)
2763
2727
  result = Types::ClassSingleton.new(name: val[2].value,
2764
2728
  location: val[0].location + val[3].location)
2765
2729
 
@@ -2767,8 +2731,8 @@ module_eval(<<'.,.,', 'parser.y', 794)
2767
2731
  end
2768
2732
  .,.,
2769
2733
 
2770
- module_eval(<<'.,.,', 'parser.y', 798)
2771
- def _reduce_186(val, _values, result)
2734
+ module_eval(<<'.,.,', 'parser.y', 779)
2735
+ def _reduce_182(val, _values, result)
2772
2736
  type, block = val[1].value
2773
2737
  result = Types::Proc.new(type: type, block: block, location: val[0].location + val[1].location)
2774
2738
 
@@ -2776,34 +2740,34 @@ module_eval(<<'.,.,', 'parser.y', 798)
2776
2740
  end
2777
2741
  .,.,
2778
2742
 
2779
- module_eval(<<'.,.,', 'parser.y', 802)
2780
- def _reduce_187(val, _values, result)
2743
+ module_eval(<<'.,.,', 'parser.y', 783)
2744
+ def _reduce_183(val, _values, result)
2781
2745
  result = Types::Optional.new(type: val[0], location: val[0].location + val[1].location)
2782
2746
 
2783
2747
  result
2784
2748
  end
2785
2749
  .,.,
2786
2750
 
2787
- # reduce 188 omitted
2751
+ # reduce 184 omitted
2788
2752
 
2789
- module_eval(<<'.,.,', 'parser.y', 808)
2790
- def _reduce_189(val, _values, result)
2753
+ module_eval(<<'.,.,', 'parser.y', 789)
2754
+ def _reduce_185(val, _values, result)
2791
2755
  result = [val[0]]
2792
2756
 
2793
2757
  result
2794
2758
  end
2795
2759
  .,.,
2796
2760
 
2797
- module_eval(<<'.,.,', 'parser.y', 811)
2798
- def _reduce_190(val, _values, result)
2761
+ module_eval(<<'.,.,', 'parser.y', 792)
2762
+ def _reduce_186(val, _values, result)
2799
2763
  result = val[0] + [val[2]]
2800
2764
 
2801
2765
  result
2802
2766
  end
2803
2767
  .,.,
2804
2768
 
2805
- module_eval(<<'.,.,', 'parser.y', 816)
2806
- def _reduce_191(val, _values, result)
2769
+ module_eval(<<'.,.,', 'parser.y', 797)
2770
+ def _reduce_187(val, _values, result)
2807
2771
  result = Types::Record.new(
2808
2772
  fields: val[1],
2809
2773
  location: val[0].location + val[2].location
@@ -2813,98 +2777,98 @@ module_eval(<<'.,.,', 'parser.y', 816)
2813
2777
  end
2814
2778
  .,.,
2815
2779
 
2816
- module_eval(<<'.,.,', 'parser.y', 824)
2817
- def _reduce_192(val, _values, result)
2780
+ module_eval(<<'.,.,', 'parser.y', 805)
2781
+ def _reduce_188(val, _values, result)
2818
2782
  result = val[0]
2819
2783
 
2820
2784
  result
2821
2785
  end
2822
2786
  .,.,
2823
2787
 
2824
- module_eval(<<'.,.,', 'parser.y', 827)
2825
- def _reduce_193(val, _values, result)
2788
+ module_eval(<<'.,.,', 'parser.y', 808)
2789
+ def _reduce_189(val, _values, result)
2826
2790
  result = val[0].merge!(val[2])
2827
2791
 
2828
2792
  result
2829
2793
  end
2830
2794
  .,.,
2831
2795
 
2832
- module_eval(<<'.,.,', 'parser.y', 832)
2833
- def _reduce_194(val, _values, result)
2796
+ module_eval(<<'.,.,', 'parser.y', 813)
2797
+ def _reduce_190(val, _values, result)
2834
2798
  result = { val[0].value => val[2] }
2835
2799
 
2836
2800
  result
2837
2801
  end
2838
2802
  .,.,
2839
2803
 
2840
- module_eval(<<'.,.,', 'parser.y', 835)
2841
- def _reduce_195(val, _values, result)
2804
+ module_eval(<<'.,.,', 'parser.y', 816)
2805
+ def _reduce_191(val, _values, result)
2842
2806
  result = { val[0].value => val[2] }
2843
2807
 
2844
2808
  result
2845
2809
  end
2846
2810
  .,.,
2847
2811
 
2848
- module_eval(<<'.,.,', 'parser.y', 838)
2849
- def _reduce_196(val, _values, result)
2812
+ module_eval(<<'.,.,', 'parser.y', 819)
2813
+ def _reduce_192(val, _values, result)
2850
2814
  result = { val[0].value => val[2] }
2851
2815
 
2852
2816
  result
2853
2817
  end
2854
2818
  .,.,
2855
2819
 
2856
- module_eval(<<'.,.,', 'parser.y', 841)
2857
- def _reduce_197(val, _values, result)
2820
+ module_eval(<<'.,.,', 'parser.y', 822)
2821
+ def _reduce_193(val, _values, result)
2858
2822
  result = { val[0].value => val[1] }
2859
2823
 
2860
2824
  result
2861
2825
  end
2862
2826
  .,.,
2863
2827
 
2864
- module_eval(<<'.,.,', 'parser.y', 844)
2865
- def _reduce_198(val, _values, result)
2828
+ module_eval(<<'.,.,', 'parser.y', 825)
2829
+ def _reduce_194(val, _values, result)
2866
2830
  result = { val[0].value => val[2] }
2867
2831
 
2868
2832
  result
2869
2833
  end
2870
2834
  .,.,
2871
2835
 
2872
- module_eval(<<'.,.,', 'parser.y', 847)
2873
- def _reduce_199(val, _values, result)
2836
+ module_eval(<<'.,.,', 'parser.y', 828)
2837
+ def _reduce_195(val, _values, result)
2874
2838
  result = { val[0].value => val[2] }
2875
2839
 
2876
2840
  result
2877
2841
  end
2878
2842
  .,.,
2879
2843
 
2880
- module_eval(<<'.,.,', 'parser.y', 850)
2881
- def _reduce_200(val, _values, result)
2844
+ module_eval(<<'.,.,', 'parser.y', 831)
2845
+ def _reduce_196(val, _values, result)
2882
2846
  result = { val[0].value => val[2] }
2883
2847
 
2884
2848
  result
2885
2849
  end
2886
2850
  .,.,
2887
2851
 
2888
- # reduce 201 omitted
2852
+ # reduce 197 omitted
2889
2853
 
2890
- module_eval(<<'.,.,', 'parser.y', 856)
2891
- def _reduce_202(val, _values, result)
2854
+ module_eval(<<'.,.,', 'parser.y', 837)
2855
+ def _reduce_198(val, _values, result)
2892
2856
  result = val[0]
2893
2857
 
2894
2858
  result
2895
2859
  end
2896
2860
  .,.,
2897
2861
 
2898
- # reduce 203 omitted
2862
+ # reduce 199 omitted
2899
2863
 
2900
- # reduce 204 omitted
2864
+ # reduce 200 omitted
2901
2865
 
2902
- # reduce 205 omitted
2866
+ # reduce 201 omitted
2903
2867
 
2904
- # reduce 206 omitted
2868
+ # reduce 202 omitted
2905
2869
 
2906
- module_eval(<<'.,.,', 'parser.y', 863)
2907
- def _reduce_207(val, _values, result)
2870
+ module_eval(<<'.,.,', 'parser.y', 844)
2871
+ def _reduce_203(val, _values, result)
2908
2872
  location = (val[0] || val[1] || val[2]).location + val[3].location
2909
2873
 
2910
2874
  params = val[0]&.value || [[], [], nil, [], {}, {}, nil]
@@ -2928,16 +2892,16 @@ module_eval(<<'.,.,', 'parser.y', 863)
2928
2892
  end
2929
2893
  .,.,
2930
2894
 
2931
- module_eval(<<'.,.,', 'parser.y', 883)
2932
- def _reduce_208(val, _values, result)
2895
+ module_eval(<<'.,.,', 'parser.y', 864)
2896
+ def _reduce_204(val, _values, result)
2933
2897
  result = LocatedValue.new(value: [val[0].value, nil], location: val[0].location)
2934
2898
 
2935
2899
  result
2936
2900
  end
2937
2901
  .,.,
2938
2902
 
2939
- module_eval(<<'.,.,', 'parser.y', 888)
2940
- def _reduce_209(val, _values, result)
2903
+ module_eval(<<'.,.,', 'parser.y', 869)
2904
+ def _reduce_205(val, _values, result)
2941
2905
  location = val[0].location + val[4].location
2942
2906
  type = Types::Function.new(
2943
2907
  required_positionals: val[1][0],
@@ -2956,8 +2920,8 @@ module_eval(<<'.,.,', 'parser.y', 888)
2956
2920
  end
2957
2921
  .,.,
2958
2922
 
2959
- module_eval(<<'.,.,', 'parser.y', 903)
2960
- def _reduce_210(val, _values, result)
2923
+ module_eval(<<'.,.,', 'parser.y', 884)
2924
+ def _reduce_206(val, _values, result)
2961
2925
  location = val[0].location + val[1].location
2962
2926
  type = Types::Function.new(
2963
2927
  required_positionals: [],
@@ -2976,8 +2940,8 @@ module_eval(<<'.,.,', 'parser.y', 903)
2976
2940
  end
2977
2941
  .,.,
2978
2942
 
2979
- module_eval(<<'.,.,', 'parser.y', 920)
2980
- def _reduce_211(val, _values, result)
2943
+ module_eval(<<'.,.,', 'parser.y', 901)
2944
+ def _reduce_207(val, _values, result)
2981
2945
  result = val[2]
2982
2946
  result[0].unshift(val[0])
2983
2947
 
@@ -2985,8 +2949,8 @@ module_eval(<<'.,.,', 'parser.y', 920)
2985
2949
  end
2986
2950
  .,.,
2987
2951
 
2988
- module_eval(<<'.,.,', 'parser.y', 924)
2989
- def _reduce_212(val, _values, result)
2952
+ module_eval(<<'.,.,', 'parser.y', 905)
2953
+ def _reduce_208(val, _values, result)
2990
2954
  result = empty_params_result
2991
2955
  result[0].unshift(val[0])
2992
2956
 
@@ -2994,10 +2958,10 @@ module_eval(<<'.,.,', 'parser.y', 924)
2994
2958
  end
2995
2959
  .,.,
2996
2960
 
2997
- # reduce 213 omitted
2961
+ # reduce 209 omitted
2998
2962
 
2999
- module_eval(<<'.,.,', 'parser.y', 931)
3000
- def _reduce_214(val, _values, result)
2963
+ module_eval(<<'.,.,', 'parser.y', 912)
2964
+ def _reduce_210(val, _values, result)
3001
2965
  result = val[2]
3002
2966
  result[1].unshift(val[0])
3003
2967
 
@@ -3005,8 +2969,8 @@ module_eval(<<'.,.,', 'parser.y', 931)
3005
2969
  end
3006
2970
  .,.,
3007
2971
 
3008
- module_eval(<<'.,.,', 'parser.y', 935)
3009
- def _reduce_215(val, _values, result)
2972
+ module_eval(<<'.,.,', 'parser.y', 916)
2973
+ def _reduce_211(val, _values, result)
3010
2974
  result = empty_params_result
3011
2975
  result[1].unshift(val[0])
3012
2976
 
@@ -3014,10 +2978,10 @@ module_eval(<<'.,.,', 'parser.y', 935)
3014
2978
  end
3015
2979
  .,.,
3016
2980
 
3017
- # reduce 216 omitted
2981
+ # reduce 212 omitted
3018
2982
 
3019
- module_eval(<<'.,.,', 'parser.y', 942)
3020
- def _reduce_217(val, _values, result)
2983
+ module_eval(<<'.,.,', 'parser.y', 923)
2984
+ def _reduce_213(val, _values, result)
3021
2985
  result = val[2]
3022
2986
  result[2] = val[0]
3023
2987
 
@@ -3025,8 +2989,8 @@ module_eval(<<'.,.,', 'parser.y', 942)
3025
2989
  end
3026
2990
  .,.,
3027
2991
 
3028
- module_eval(<<'.,.,', 'parser.y', 946)
3029
- def _reduce_218(val, _values, result)
2992
+ module_eval(<<'.,.,', 'parser.y', 927)
2993
+ def _reduce_214(val, _values, result)
3030
2994
  result = empty_params_result
3031
2995
  result[2] = val[0]
3032
2996
 
@@ -3034,10 +2998,10 @@ module_eval(<<'.,.,', 'parser.y', 946)
3034
2998
  end
3035
2999
  .,.,
3036
3000
 
3037
- # reduce 219 omitted
3001
+ # reduce 215 omitted
3038
3002
 
3039
- module_eval(<<'.,.,', 'parser.y', 953)
3040
- def _reduce_220(val, _values, result)
3003
+ module_eval(<<'.,.,', 'parser.y', 934)
3004
+ def _reduce_216(val, _values, result)
3041
3005
  result = val[2]
3042
3006
  result[3].unshift(val[0])
3043
3007
 
@@ -3045,8 +3009,8 @@ module_eval(<<'.,.,', 'parser.y', 953)
3045
3009
  end
3046
3010
  .,.,
3047
3011
 
3048
- module_eval(<<'.,.,', 'parser.y', 957)
3049
- def _reduce_221(val, _values, result)
3012
+ module_eval(<<'.,.,', 'parser.y', 938)
3013
+ def _reduce_217(val, _values, result)
3050
3014
  result = empty_params_result
3051
3015
  result[3].unshift(val[0])
3052
3016
 
@@ -3054,18 +3018,18 @@ module_eval(<<'.,.,', 'parser.y', 957)
3054
3018
  end
3055
3019
  .,.,
3056
3020
 
3057
- # reduce 222 omitted
3021
+ # reduce 218 omitted
3058
3022
 
3059
- module_eval(<<'.,.,', 'parser.y', 964)
3060
- def _reduce_223(val, _values, result)
3023
+ module_eval(<<'.,.,', 'parser.y', 945)
3024
+ def _reduce_219(val, _values, result)
3061
3025
  result = empty_params_result
3062
3026
 
3063
3027
  result
3064
3028
  end
3065
3029
  .,.,
3066
3030
 
3067
- module_eval(<<'.,.,', 'parser.y', 967)
3068
- def _reduce_224(val, _values, result)
3031
+ module_eval(<<'.,.,', 'parser.y', 948)
3032
+ def _reduce_220(val, _values, result)
3069
3033
  result = val[2]
3070
3034
  result[4].merge!(val[0])
3071
3035
 
@@ -3073,8 +3037,8 @@ module_eval(<<'.,.,', 'parser.y', 967)
3073
3037
  end
3074
3038
  .,.,
3075
3039
 
3076
- module_eval(<<'.,.,', 'parser.y', 971)
3077
- def _reduce_225(val, _values, result)
3040
+ module_eval(<<'.,.,', 'parser.y', 952)
3041
+ def _reduce_221(val, _values, result)
3078
3042
  result = empty_params_result
3079
3043
  result[4].merge!(val[0])
3080
3044
 
@@ -3082,8 +3046,8 @@ module_eval(<<'.,.,', 'parser.y', 971)
3082
3046
  end
3083
3047
  .,.,
3084
3048
 
3085
- module_eval(<<'.,.,', 'parser.y', 975)
3086
- def _reduce_226(val, _values, result)
3049
+ module_eval(<<'.,.,', 'parser.y', 956)
3050
+ def _reduce_222(val, _values, result)
3087
3051
  result = val[2]
3088
3052
  result[5].merge!(val[0])
3089
3053
 
@@ -3091,8 +3055,8 @@ module_eval(<<'.,.,', 'parser.y', 975)
3091
3055
  end
3092
3056
  .,.,
3093
3057
 
3094
- module_eval(<<'.,.,', 'parser.y', 979)
3095
- def _reduce_227(val, _values, result)
3058
+ module_eval(<<'.,.,', 'parser.y', 960)
3059
+ def _reduce_223(val, _values, result)
3096
3060
  result = empty_params_result
3097
3061
  result[5].merge!(val[0])
3098
3062
 
@@ -3100,8 +3064,8 @@ module_eval(<<'.,.,', 'parser.y', 979)
3100
3064
  end
3101
3065
  .,.,
3102
3066
 
3103
- module_eval(<<'.,.,', 'parser.y', 983)
3104
- def _reduce_228(val, _values, result)
3067
+ module_eval(<<'.,.,', 'parser.y', 964)
3068
+ def _reduce_224(val, _values, result)
3105
3069
  result = empty_params_result
3106
3070
  result[6] = val[0]
3107
3071
 
@@ -3109,8 +3073,8 @@ module_eval(<<'.,.,', 'parser.y', 983)
3109
3073
  end
3110
3074
  .,.,
3111
3075
 
3112
- module_eval(<<'.,.,', 'parser.y', 989)
3113
- def _reduce_229(val, _values, result)
3076
+ module_eval(<<'.,.,', 'parser.y', 970)
3077
+ def _reduce_225(val, _values, result)
3114
3078
  result = Types::Function::Param.new(type: val[0],
3115
3079
  name: val[1]&.value&.to_sym)
3116
3080
 
@@ -3118,8 +3082,8 @@ module_eval(<<'.,.,', 'parser.y', 989)
3118
3082
  end
3119
3083
  .,.,
3120
3084
 
3121
- module_eval(<<'.,.,', 'parser.y', 995)
3122
- def _reduce_230(val, _values, result)
3085
+ module_eval(<<'.,.,', 'parser.y', 976)
3086
+ def _reduce_226(val, _values, result)
3123
3087
  result = Types::Function::Param.new(type: val[1],
3124
3088
  name: val[2]&.value&.to_sym)
3125
3089
 
@@ -3127,8 +3091,8 @@ module_eval(<<'.,.,', 'parser.y', 995)
3127
3091
  end
3128
3092
  .,.,
3129
3093
 
3130
- module_eval(<<'.,.,', 'parser.y', 1001)
3131
- def _reduce_231(val, _values, result)
3094
+ module_eval(<<'.,.,', 'parser.y', 982)
3095
+ def _reduce_227(val, _values, result)
3132
3096
  result = Types::Function::Param.new(type: val[1],
3133
3097
  name: val[2]&.value&.to_sym)
3134
3098
 
@@ -3136,8 +3100,8 @@ module_eval(<<'.,.,', 'parser.y', 1001)
3136
3100
  end
3137
3101
  .,.,
3138
3102
 
3139
- module_eval(<<'.,.,', 'parser.y', 1007)
3140
- def _reduce_232(val, _values, result)
3103
+ module_eval(<<'.,.,', 'parser.y', 988)
3104
+ def _reduce_228(val, _values, result)
3141
3105
  param = Types::Function::Param.new(type: val[1],
3142
3106
  name: val[2]&.value&.to_sym)
3143
3107
  result = { val[0].value => param }
@@ -3146,8 +3110,8 @@ module_eval(<<'.,.,', 'parser.y', 1007)
3146
3110
  end
3147
3111
  .,.,
3148
3112
 
3149
- module_eval(<<'.,.,', 'parser.y', 1014)
3150
- def _reduce_233(val, _values, result)
3113
+ module_eval(<<'.,.,', 'parser.y', 995)
3114
+ def _reduce_229(val, _values, result)
3151
3115
  param = Types::Function::Param.new(type: val[2],
3152
3116
  name: val[3]&.value&.to_sym)
3153
3117
  result = { val[1].value => param }
@@ -3156,8 +3120,8 @@ module_eval(<<'.,.,', 'parser.y', 1014)
3156
3120
  end
3157
3121
  .,.,
3158
3122
 
3159
- module_eval(<<'.,.,', 'parser.y', 1021)
3160
- def _reduce_234(val, _values, result)
3123
+ module_eval(<<'.,.,', 'parser.y', 1002)
3124
+ def _reduce_230(val, _values, result)
3161
3125
  result = Types::Function::Param.new(type: val[1],
3162
3126
  name: val[2]&.value&.to_sym)
3163
3127
 
@@ -3165,7 +3129,25 @@ module_eval(<<'.,.,', 'parser.y', 1021)
3165
3129
  end
3166
3130
  .,.,
3167
3131
 
3168
- # reduce 235 omitted
3132
+ # reduce 231 omitted
3133
+
3134
+ # reduce 232 omitted
3135
+
3136
+ # reduce 233 omitted
3137
+
3138
+ # reduce 234 omitted
3139
+
3140
+ module_eval(<<'.,.,', 'parser.y', 1011)
3141
+ def _reduce_235(val, _values, result)
3142
+ namespace = val[0]&.value || Namespace.empty
3143
+ name = val[1].value.to_sym
3144
+ type_name = TypeName.new(namespace: namespace, name: name)
3145
+ location = (loc0 = val[0]&.location) ? loc0 + val[1].location : val[1].location
3146
+ result = LocatedValue.new(value: type_name, location: location)
3147
+
3148
+ result
3149
+ end
3150
+ .,.,
3169
3151
 
3170
3152
  # reduce 236 omitted
3171
3153
 
@@ -3173,7 +3155,7 @@ module_eval(<<'.,.,', 'parser.y', 1021)
3173
3155
 
3174
3156
  # reduce 238 omitted
3175
3157
 
3176
- module_eval(<<'.,.,', 'parser.y', 1030)
3158
+ module_eval(<<'.,.,', 'parser.y', 1023)
3177
3159
  def _reduce_239(val, _values, result)
3178
3160
  namespace = val[0]&.value || Namespace.empty
3179
3161
  name = val[1].value.to_sym
@@ -3185,14 +3167,8 @@ module_eval(<<'.,.,', 'parser.y', 1030)
3185
3167
  end
3186
3168
  .,.,
3187
3169
 
3188
- # reduce 240 omitted
3189
-
3190
- # reduce 241 omitted
3191
-
3192
- # reduce 242 omitted
3193
-
3194
- module_eval(<<'.,.,', 'parser.y', 1042)
3195
- def _reduce_243(val, _values, result)
3170
+ module_eval(<<'.,.,', 'parser.y', 1032)
3171
+ def _reduce_240(val, _values, result)
3196
3172
  namespace = val[0]&.value || Namespace.empty
3197
3173
  name = val[1].value.to_sym
3198
3174
  type_name = TypeName.new(namespace: namespace, name: name)
@@ -3203,8 +3179,8 @@ module_eval(<<'.,.,', 'parser.y', 1042)
3203
3179
  end
3204
3180
  .,.,
3205
3181
 
3206
- module_eval(<<'.,.,', 'parser.y', 1051)
3207
- def _reduce_244(val, _values, result)
3182
+ module_eval(<<'.,.,', 'parser.y', 1041)
3183
+ def _reduce_241(val, _values, result)
3208
3184
  namespace = val[0]&.value || Namespace.empty
3209
3185
  name = val[1].value.to_sym
3210
3186
  type_name = TypeName.new(namespace: namespace, name: name)
@@ -3215,24 +3191,24 @@ module_eval(<<'.,.,', 'parser.y', 1051)
3215
3191
  end
3216
3192
  .,.,
3217
3193
 
3218
- module_eval(<<'.,.,', 'parser.y', 1060)
3219
- def _reduce_245(val, _values, result)
3194
+ module_eval(<<'.,.,', 'parser.y', 1051)
3195
+ def _reduce_242(val, _values, result)
3220
3196
  result = nil
3221
3197
 
3222
3198
  result
3223
3199
  end
3224
3200
  .,.,
3225
3201
 
3226
- module_eval(<<'.,.,', 'parser.y', 1063)
3227
- def _reduce_246(val, _values, result)
3202
+ module_eval(<<'.,.,', 'parser.y', 1054)
3203
+ def _reduce_243(val, _values, result)
3228
3204
  result = LocatedValue.new(value: Namespace.root, location: val[0].location)
3229
3205
 
3230
3206
  result
3231
3207
  end
3232
3208
  .,.,
3233
3209
 
3234
- module_eval(<<'.,.,', 'parser.y', 1066)
3235
- def _reduce_247(val, _values, result)
3210
+ module_eval(<<'.,.,', 'parser.y', 1057)
3211
+ def _reduce_244(val, _values, result)
3236
3212
  namespace = Namespace.parse(val[1].value).absolute!
3237
3213
  result = LocatedValue.new(value: namespace, location: val[0].location + val[1].location)
3238
3214
 
@@ -3240,8 +3216,8 @@ module_eval(<<'.,.,', 'parser.y', 1066)
3240
3216
  end
3241
3217
  .,.,
3242
3218
 
3243
- module_eval(<<'.,.,', 'parser.y', 1070)
3244
- def _reduce_248(val, _values, result)
3219
+ module_eval(<<'.,.,', 'parser.y', 1061)
3220
+ def _reduce_245(val, _values, result)
3245
3221
  namespace = Namespace.parse(val[0].value)
3246
3222
  result = LocatedValue.new(value: namespace, location: val[0].location)
3247
3223