rbs 1.0.0.pre → 1.0.0.pre2

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