rbs 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -259,7 +259,7 @@ class Module < Object
259
259
  # or method `code' for Thing:Class
260
260
  #
261
261
  def class_eval: (String arg0, ?String filename, ?Integer lineno) -> untyped
262
- | [U] (untyped arg0) { (untyped m) -> U } -> U
262
+ | [U] { (self m) -> U } -> U
263
263
 
264
264
  # Evaluates the given block in the context of the class/module. The method
265
265
  # defined in the block will belong to the receiver. Any arguments passed to the
@@ -793,7 +793,7 @@ class Module < Object
793
793
  # or method `code' for Thing:Class
794
794
  #
795
795
  def module_eval: (String arg0, ?String filename, ?Integer lineno) -> untyped
796
- | [U] (untyped arg0) { (untyped m) -> U } -> U
796
+ | [U] { (self m) -> U } -> U
797
797
 
798
798
  # Evaluates the given block in the context of the class/module. The method
799
799
  # defined in the block will belong to the receiver. Any arguments passed to the
@@ -150,4 +150,20 @@ class UnboundMethod
150
150
  # if there is no method on superclass.
151
151
  #
152
152
  def super_method: () -> UnboundMethod?
153
+
154
+ # Returns the original name of the method.
155
+ #
156
+ # class C
157
+ # def foo; end
158
+ # alias bar foo
159
+ # end
160
+ # C.instance_method(:bar).original_name # => :foo
161
+ #
162
+ def original_name: () -> Symbol
163
+
164
+ # Bind *umeth* to *recv* and then invokes the method with the specified
165
+ # arguments. This is semantically equivalent to `umeth.bind(recv).call(args,
166
+ # ...)`.
167
+ #
168
+ def bind_call: (untyped recv, *untyped args) ?{ (*untyped) -> untyped } -> untyped
153
169
  end
@@ -49,12 +49,12 @@ You may find the *Good for first contributor* column where you can find some cla
49
49
  * `--merge` tells to use the method types in RBS if exists.
50
50
  * `rbs prototype runtime --merge --method-owner=Numeric Integer`
51
51
  * You can use --method-owner if you want to print method of other classes too, for documentation purpose.
52
- * `bin/annotate-with-rdoc stdlib/builtin/string.rbs`
52
+ * `bin/annotate-with-rdoc core/string.rbs`
53
53
  * Write comments using RDoc.
54
54
  * It contains arglists section, but I don't think we should have it in RBS files.
55
55
  * `bin/query-rdoc String#initialize`
56
56
  * Print RDoc documents in the format you can copy-and-paste to RBS.
57
- * `bin/sort stdlib/builtin/string.rbs`
57
+ * `bin/sort core/string.rbs`
58
58
  * Sort declarations members in RBS files.
59
59
  * `rbs validate -r LIB`
60
60
  Validate the syntax and some of the semantics.
@@ -11,7 +11,7 @@ The typical steps of writing signatures will be like the following:
11
11
 
12
12
  ## Signatures
13
13
 
14
- Signatures for standard libraries are located in `stdlib` directory. `stdlib/builtin` is for builtin libraries. Other libraries have directories like `stdlib/set` or `stdlib/pathname`.
14
+ Signatures for builtin libraries are located in `core` directory. Also, signatures for standard libraries are located in `stdlib` directory.
15
15
 
16
16
  To write signatures see [syntax guide](syntax.md).
17
17
 
@@ -118,23 +118,61 @@ It generates `test/stdlib/[class_name]_test.rb`.
118
118
  The test scripts would look like the following:
119
119
 
120
120
  ```rb
121
- class StringTest < StdlibTest
122
- target String
121
+ class StringSingletonTest < Test::Unit::TestCase
122
+ include TypeAssertions
123
+
124
+ testing "singleton(::String)"
125
+
126
+ def test_initialize
127
+ assert_send_type "() -> String",
128
+ String, :new
129
+ assert_send_type "(String) -> String",
130
+ String, :new, ""
131
+ assert_send_type "(String, encoding: Encoding) -> String",
132
+ String, :new, "", encoding: Encoding::ASCII_8BIT
133
+ assert_send_type "(String, encoding: Encoding, capacity: Integer) -> String",
134
+ String, :new, "", encoding: Encoding::ASCII_8BIT, capacity: 123
135
+ assert_send_type "(encoding: Encoding, capacity: Integer) -> String",
136
+ String, :new, encoding: Encoding::ASCII_8BIT, capacity: 123
137
+ assert_send_type "(ToStr) -> String",
138
+ String, :new, ToStr.new("")
139
+ assert_send_type "(encoding: ToStr) -> String",
140
+ String, :new, encoding: ToStr.new('Shift_JIS')
141
+ assert_send_type "(capacity: ToInt) -> String",
142
+ String, :new, capacity: ToInt.new(123)
143
+ end
144
+ end
145
+
146
+ class StringTest < Test::Unit::TestCase
147
+ include TypeAssertions
148
+
149
+ # library "pathname", "set", "securerandom" # Declare library signatures to load
150
+ testing "::String"
123
151
 
124
152
  def test_gsub
125
- s = "string"
126
- s.gsub(/./, "")
127
- s.gsub("a", "b")
128
- s.gsub(/./) {|x| "" }
129
- s.gsub(/./, {"foo" => "bar"})
130
- s.gsub(/./)
131
- s.gsub("")
153
+ assert_send_type "(Regexp, String) -> String",
154
+ "string", :gsub, /./, ""
155
+ assert_send_type "(String, String) -> String",
156
+ "string", :gsub, "a", "b"
157
+ assert_send_type "(Regexp) { (String) -> String } -> String",
158
+ "string", :gsub, /./ do |x| "" end
159
+ assert_send_type "(Regexp) { (String) -> ToS } -> String",
160
+ "string", :gsub, /./ do |x| ToS.new("") end
161
+ assert_send_type "(Regexp, Hash[String, String]) -> String",
162
+ "string", :gsub, /./, {"foo" => "bar"}
163
+ assert_send_type "(Regexp) -> Enumerator[String, self]",
164
+ "string", :gsub, /./
165
+ assert_send_type "(String) -> Enumerator[String, self]",
166
+ "string", :gsub, ""
167
+ assert_send_type "(ToStr, ToStr) -> String",
168
+ "string", :gsub, ToStr.new("a"), ToStr.new("b")
132
169
  end
133
170
  end
134
171
  ```
135
172
 
136
- You need two method calls, `target` and `using`.
137
- `target` method call tells which class is the subject of the class.
173
+ You need include `TypeAssertions` which provide useful methods for you.
174
+ `testing` method call tells which class is the subject of the class.
175
+ `assert_send_type` method call asserts to be valid types and confirms to be able to execute without exceptions.
138
176
  And you write the sample programs which calls all of the patterns of overloads.
139
177
 
140
178
  Note that the instrumentation is based on refinements and you need to write all method calls in the unit class definitions.
@@ -71,7 +71,7 @@ rules:
71
71
  end
72
72
  pass:
73
73
  - |
74
- class IntegerTest < Minitest::Test
74
+ class IntegerTest < Test::Unit::TestCase
75
75
  include TypeAssertions
76
76
 
77
77
  testing "Integer"
@@ -131,8 +131,8 @@ module RBS
131
131
  end
132
132
  end
133
133
 
134
- def build_instance(type_name)
135
- try_cache(type_name, cache: instance_cache) do
134
+ def build_instance(type_name, no_self_types: false)
135
+ try_cache(type_name, cache: instance_cache, key: [type_name, no_self_types]) do
136
136
  entry = env.class_decls[type_name] or raise "Unknown name for build_instance: #{type_name}"
137
137
  ensure_namespace!(type_name.namespace, location: entry.decls[0].decl.location)
138
138
 
@@ -164,23 +164,25 @@ module RBS
164
164
  end
165
165
 
166
166
  if self_types = one_ancestors.self_types
167
- self_types.each do |ans|
168
- defn = if ans.name.interface?
169
- build_interface(ans.name)
170
- else
171
- build_instance(ans.name)
172
- end
167
+ unless no_self_types
168
+ self_types.each do |ans|
169
+ defn = if ans.name.interface?
170
+ build_interface(ans.name)
171
+ else
172
+ build_instance(ans.name)
173
+ end
173
174
 
174
- # Successor interface method overwrites.
175
- merge_definition(src: defn,
176
- dest: definition,
177
- subst: Substitution.build(defn.type_params, ans.args),
178
- keep_super: true)
175
+ # Successor interface method overwrites.
176
+ merge_definition(src: defn,
177
+ dest: definition,
178
+ subst: Substitution.build(defn.type_params, ans.args),
179
+ keep_super: true)
180
+ end
179
181
  end
180
182
  end
181
183
 
182
184
  one_ancestors.each_included_module do |mod|
183
- defn = build_instance(mod.name)
185
+ defn = build_instance(mod.name, no_self_types: true)
184
186
  merge_definition(src: defn,
185
187
  dest: definition,
186
188
  subst: Substitution.build(defn.type_params, mod.args))
@@ -281,7 +283,7 @@ module RBS
281
283
  end
282
284
 
283
285
  one_ancestors.each_extended_module do |mod|
284
- mod_defn = build_instance(mod.name)
286
+ mod_defn = build_instance(mod.name, no_self_types: true)
285
287
  merge_definition(src: mod_defn,
286
288
  dest: definition,
287
289
  subst: Substitution.build(mod_defn.type_params, mod.args))
@@ -751,8 +753,10 @@ module RBS
751
753
  )
752
754
  end
753
755
 
754
- def try_cache(type_name, cache:)
755
- cached = _ = cache[type_name]
756
+ def try_cache(type_name, cache:, key: type_name)
757
+ # @type var cc: Hash[untyped, Definition | false | nil]
758
+ cc = _ = cache
759
+ cached = cc[key]
756
760
 
757
761
  case cached
758
762
  when Definition
@@ -760,11 +764,11 @@ module RBS
760
764
  when false
761
765
  raise
762
766
  when nil
763
- cache[type_name] = false
767
+ cc[key] = false
764
768
  begin
765
- cache[type_name] = yield
769
+ cc[key] = yield
766
770
  rescue => ex
767
- cache.delete(type_name)
771
+ cc.delete(key)
768
772
  raise ex
769
773
  end
770
774
  else
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # DO NOT MODIFY!!!!
3
- # This file is automatically generated by Racc 1.5.1
3
+ # This file is automatically generated by Racc 1.5.2
4
4
  # from Racc grammar file "".
5
5
  #
6
6
 
@@ -8,7 +8,7 @@ require 'racc/parser.rb'
8
8
  module RBS
9
9
  class Parser < Racc::Parser
10
10
 
11
- module_eval(<<'...end parser.y/module_eval...', 'parser.y', 1058)
11
+ module_eval(<<'...end parser.y/module_eval...', 'parser.y', 1068)
12
12
 
13
13
  Types = RBS::Types
14
14
  Namespace = RBS::Namespace
@@ -315,7 +315,7 @@ def next_token
315
315
  new_token(:tWRITE_ATTR)
316
316
  when input.scan(KEYWORDS_RE)
317
317
  new_token(KEYWORDS[input.matched], input.matched.to_sym)
318
- when input.scan(/:((@{,2}|\$)?\w+(\?|\!)?|\+|\-)\b?/)
318
+ when input.scan(/:((@{,2}|\$)?\w+(\?|\!)?|[|&\/%~`^]|<=>|={2,3}|=~|[<>]{2}|[<>]=?|[-+]@?|\*{1,2}|\[\]=?|![=~]?)\b?/)
319
319
  s = input.matched.yield_self {|s| s[1, s.length] }.to_sym
320
320
  new_token(:tSYMBOL, s)
321
321
  when input.scan(/[+-]?\d[\d_]*/)
@@ -401,40 +401,40 @@ end
401
401
  ##### State transition tables begin ###
402
402
 
403
403
  clist = [
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',
404
+ '351,352,33,353,5,113,37,33,33,42,338,394,49,33,33,350,43,245,336,393',
405
+ '40,41,55,56,57,58,59,60,61,62,355,33,63,54,64,65,66,77,67,68,69,83,33',
406
+ '32,53,346,340,341,32,32,344,342,345,305,32,32,33,343,82,70,71,72,74',
407
+ '76,75,339,348,349,73,78,80,126,32,124,48,84,85,81,86,351,352,33,353',
408
+ '32,96,97,98,99,104,49,39,33,33,33,350,205,205,32,125,40,41,55,56,57',
409
+ '58,59,60,61,62,79,185,63,54,64,65,66,77,67,68,69,83,53,32,160,346,340',
410
+ '341,53,53,344,342,345,32,32,32,125,343,82,70,71,72,74,76,75,339,348',
411
+ '349,73,78,80,40,41,161,223,84,85,81,86,351,352,120,353,180,96,97,98',
412
+ '99,164,179,101,102,165,103,350,166,280,327,360,224,39,55,56,57,58,59',
413
+ '60,61,62,79,397,63,54,64,65,66,77,67,68,69,83,281,125,125,346,340,341',
414
+ '398,399,344,342,345,323,40,41,125,343,82,70,71,72,74,76,75,339,348,349',
415
+ '73,78,80,167,319,125,125,84,85,81,86,351,352,168,353,170,96,97,98,99',
416
+ '2,3,4,40,41,171,350,40,41,40,41,40,41,55,56,57,58,59,60,61,62,79,172',
417
+ '63,54,64,65,66,77,67,68,69,83,40,41,113,346,340,341,40,41,344,342,345',
418
+ '40,41,40,41,343,82,70,71,72,74,76,75,339,348,349,73,78,80,351,352,178',
419
+ '353,84,85,81,86,-4,181,-242,184,33,41,117,350,-242,40,41,40,41,113,55',
420
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',
421
+ '346,340,341,283,284,344,342,345,32,372,373,188,343,82,70,71,72,74,76',
422
+ '75,339,348,349,73,78,80,351,352,-104,353,84,85,81,86,40,41,40,41,-105',
423
+ '39,-106,350,388,389,40,41,40,41,55,56,57,58,59,60,61,62,79,-107,63,54',
424
+ '64,65,66,77,67,68,69,83,40,41,-108,346,340,341,40,41,344,342,345,40',
425
+ '41,40,41,343,82,70,71,72,74,76,75,339,348,349,73,78,80,40,41,-109,-110',
426
+ '84,85,81,86,351,352,-111,353,-112,96,97,98,99,-113,-114,48,-129,193',
427
+ '194,350,195,196,197,198,206,207,55,56,57,58,59,60,61,62,79,42,63,54',
428
+ '64,65,66,77,67,68,69,83,225,239,248,346,340,341,249,250,344,342,345',
429
+ '252,254,255,42,343,82,70,71,72,74,76,75,339,348,349,73,78,80,351,352',
430
+ '257,353,84,85,81,86,257,257,263,42,225,267,271,350,273,275,276,312,271',
431
+ '314,55,56,57,58,59,60,61,62,79,275,63,54,64,65,66,77,67,68,69,83,324',
432
+ '325,326,346,340,341,329,329,344,342,345,329,359,361,368,343,82,70,71',
433
+ '72,74,76,75,339,348,349,73,78,80,369,370,371,374,84,85,81,86,33,376',
434
+ '379,96,97,98,99,379,379,392,22,23,21,395,26,-219,25,396,30,403,131,132',
435
+ '133,134,135,136,137,138,142,16,139,130,140,141,66,77,67,68,69,83,404',
436
+ '32,405,407,412,28,413,156,414,157,159,415,412,,,,82,70,71,72,74,76,75',
437
+ ',,,73,78,80,,,,,84,85,81,86,33,,,96,97,98,99,,,,22,23,21,,26,,25,,30',
438
438
  ',131,132,133,134,135,136,137,138,142,16,139,130,140,141,66,77,67,68',
439
439
  '69,83,,32,,,174,28,,177,,175,,,,,,,82,70,71,72,74,76,75,,,,73,78,80',
440
440
  '176,,,,84,85,81,86,33,,,96,97,98,99,,,,22,23,21,,26,-219,25,,30,,131',
@@ -444,30 +444,30 @@ clist = [
444
444
  '135,136,137,138,142,16,139,130,140,141,66,77,67,68,69,83,,32,,,,28,',
445
445
  '156,,157,159,,,,,,82,70,71,72,74,76,75,,,,73,78,80,,,,,84,85,81,86,33',
446
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,,',
447
+ '138,142,16,139,130,140,141,66,77,67,68,69,83,,32,,,,28,,231,,,159,,',
448
448
  ',,,82,70,71,72,74,76,75,,,,73,78,80,,,,,84,85,81,86,33,,,96,97,98,99',
449
449
  ',,,22,23,21,,26,-219,25,,30,,131,132,133,134,135,136,137,138,142,16',
450
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
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',
453
+ '141,66,77,67,68,69,83,,32,,,,28,,231,,,159,,,,,,82,70,71,72,74,76,75',
454
454
  ',,,73,78,80,,,,,84,85,81,86,96,97,98,99,,,,90,89,91,,,,,,,,55,56,57',
455
455
  '58,59,60,61,62,79,,63,54,64,65,66,77,67,68,69,83,,,,,,,,,190,,191,,',
456
456
  ',,,82,70,71,72,74,76,75,,95,94,73,78,80,,,,,84,85,81,86,96,97,98,99',
457
457
  ',,,90,89,91,,,,,,40,41,55,56,57,58,59,60,61,62,79,,63,54,64,65,66,77',
458
458
  '67,68,69,83,192,,,,,,,,,,,,,,,,82,70,71,72,74,76,75,,95,94,73,78,80',
459
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',
460
+ '65,66,77,67,68,69,83,190,,191,,,,,231,,,159,,,,,,82,70,71,72,74,76,75',
461
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,',
462
+ '60,61,62,79,,63,54,64,65,66,77,67,68,69,83,192,40,41,,,,,231,,,159,',
463
463
  ',,,,82,70,71,72,74,76,75,192,,,73,78,80,96,97,98,99,84,85,81,86,,,,',
464
464
  ',,,,,55,56,57,58,59,60,61,62,79,,63,54,64,65,66,77,67,68,69,83,190,',
465
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',
466
+ '85,81,86,,,,,,,,40,41,,40,41,,40,41,-242,,33,,117,,-242,,,300,301,113',
467
+ ',,192,,,192,,,192,,-242,,33,,117,,-242,,302,300,301,113,,,,,,297,296',
468
+ ',,32,-242,,33,,117,,-242,,302,300,301,113,,,,288,,297,296,,174,32,,177',
469
+ ',175,,,323,,302,,,,,,,311,,297,296,,33,32,,176,,319,320,316,317,318',
470
+ '22,23,21,321,26,,25,315,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27',
471
471
  ',,33,,,,,32,,,,28,22,23,21,,26,,25,45,30,,8,12,19,20,9,10,13,14,15,16',
472
472
  '17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10',
473
473
  '13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12',
@@ -523,44 +523,44 @@ clist = [
523
523
  end
524
524
 
525
525
  clist = [
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',
526
+ '323,323,48,323,1,277,5,177,215,7,322,379,28,216,217,323,24,216,322,379',
527
+ '44,44,323,323,323,323,323,323,323,323,323,245,323,323,323,323,323,323',
528
+ '323,323,323,323,267,48,28,323,323,323,177,215,323,323,323,277,216,217',
529
+ '273,323,323,323,323,323,323,323,323,323,323,323,323,323,323,47,245,46',
530
+ '27,323,323,323,323,330,330,275,330,267,330,330,330,330,32,119,35,319',
531
+ '320,321,330,160,206,273,46,47,47,330,330,330,330,330,330,330,330,330',
532
+ '123,330,330,330,330,330,330,330,330,330,330,119,275,51,330,330,330,160',
533
+ '206,330,330,330,319,320,321,123,330,330,330,330,330,330,330,330,330',
534
+ '330,330,330,330,330,6,6,51,183,330,330,330,330,331,331,36,331,116,331',
535
+ '331,331,331,87,116,31,31,88,31,331,89,268,304,328,183,6,331,331,331',
536
+ '331,331,331,331,331,331,384,331,331,331,331,331,331,331,331,331,331',
537
+ '268,304,328,331,331,331,385,386,331,331,331,310,169,169,384,331,331',
538
+ '331,331,331,331,331,331,331,331,331,331,331,331,90,310,385,386,331,331',
539
+ '331,331,332,332,91,332,93,332,332,332,332,0,0,0,186,186,94,332,209,209',
540
+ '210,210,211,211,332,332,332,332,332,332,332,332,332,95,332,332,332,332',
541
+ '332,332,332,332,332,332,212,212,113,332,332,332,213,213,332,332,332',
542
+ '214,214,220,220,332,332,332,332,332,332,332,332,332,332,332,332,332',
543
+ '332,356,356,115,356,332,332,332,332,34,117,34,120,34,121,34,356,34,221',
544
+ '221,222,222,34,356,356,356,356,356,356,356,356,356,127,356,356,356,356',
545
+ '356,356,356,356,356,356,264,264,128,356,356,356,270,270,356,356,356',
546
+ '34,347,347,129,356,356,356,356,356,356,356,356,356,356,356,356,356,356',
547
+ '374,374,130,374,356,356,356,356,357,357,358,358,131,34,132,374,371,371',
548
+ '377,377,380,380,374,374,374,374,374,374,374,374,374,133,374,374,374',
549
+ '374,374,374,374,374,374,374,382,382,134,374,374,374,391,391,374,374',
550
+ '374,406,406,408,408,374,374,374,374,374,374,374,374,374,374,374,374',
551
+ '374,374,409,409,135,136,374,374,374,374,387,387,137,387,138,387,387',
552
+ '387,387,139,140,141,142,145,146,387,148,150,153,154,161,162,387,387',
553
+ '387,387,387,387,387,387,387,163,387,387,387,387,387,387,387,387,387',
554
+ '387,188,204,218,387,387,387,219,224,387,387,387,229,240,241,242,387',
555
+ '387,387,387,387,387,387,387,387,387,387,387,387,387,414,414,243,414',
556
+ '387,387,387,387,244,246,247,251,254,256,257,414,258,259,261,279,281',
557
+ '282,414,414,414,414,414,414,414,414,414,286,414,414,414,414,414,414',
558
+ '414,414,414,414,300,301,302,414,414,414,316,317,414,414,414,318,326',
559
+ '329,333,414,414,414,414,414,414,414,414,414,414,414,414,414,414,334',
560
+ '335,337,355,414,414,414,414,49,359,363,49,49,49,49,365,367,378,49,49',
561
+ '49,381,49,49,49,383,49,388,49,49,49,49,49,49,49,49,49,49,49,49,49,49',
562
+ '49,49,49,49,49,49,389,49,390,394,400,49,402,49,405,49,49,411,415,,,',
563
+ '49,49,49,49,49,49,49,,,,49,49,49,,,,,49,49,49,49,156,,,156,156,156,156',
564
564
  ',,,156,156,156,,156,,156,,156,,156,156,156,156,156,156,156,156,156,156',
565
565
  '156,156,156,156,156,156,156,156,156,156,,156,,,114,156,,114,,114,,,',
566
566
  ',,,156,156,156,156,156,156,156,,,,156,156,156,114,,,,156,156,156,156',
@@ -577,10 +577,10 @@ clist = [
577
577
  ',205,205,205,205,,,,205,205,205,,205,205,205,,205,,205,205,205,205,205',
578
578
  '205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,,205,,,',
579
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,,,,,',
580
+ ',,205,205,205,205,252,,,252,252,252,252,,,,252,252,252,,252,252,252',
581
+ ',252,,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252',
582
+ '252,252,252,252,,252,,,,252,,252,,,252,,,,,,252,252,252,252,252,252',
583
+ '252,,,,252,252,252,,,,,252,252,252,252,30,30,30,30,,,,30,30,30,,,,,',
584
584
  ',,30,30,30,30,30,30,30,30,30,,30,30,30,30,30,30,30,30,30,30,,,,,,,,',
585
585
  '143,,143,,,,,,30,30,30,30,30,30,30,,30,30,30,30,30,,,,,30,30,30,30,165',
586
586
  '165,165,165,,,,165,165,165,,,,,,143,143,165,165,165,165,165,165,165',
@@ -591,14 +591,14 @@ clist = [
591
591
  '197,197,197,197,201,,201,197,197,197,198,198,198,198,197,197,197,197',
592
592
  ',,,,,,,199,199,198,198,198,198,198,198,198,198,198,,198,198,198,198',
593
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',
594
+ '198,198,198,201,,,198,198,198,231,231,231,231,198,198,198,198,,,,,,',
595
+ ',,,231,231,231,231,231,231,231,231,231,,231,231,231,231,231,231,231',
596
+ '231,231,231,202,,202,203,,203,235,,235,,,,,,,,231,231,231,231,231,231',
597
+ '231,,,,231,231,231,,,,,231,231,231,231,,,,,,,,202,202,,203,203,,235',
598
+ '235,274,,274,,274,,274,,,274,274,274,,,202,,,203,,,235,,278,,278,,278',
599
+ ',278,,274,278,278,278,,,,,,274,274,,,274,285,,285,,285,,285,,278,285',
600
+ '285,285,,,,274,,278,278,,287,278,,287,,287,,,287,,285,,,,,,,278,,285',
601
+ '285,,2,285,,287,,287,287,287,287,287,2,2,2,287,2,,2,285,2,,2,2,2,2,2',
602
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
603
  '25,25,25,25,25,25,25,25,25,25,,,26,,,,,25,,,,25,26,26,26,,26,,26,,26',
604
604
  ',26,26,26,26,26,26,26,26,26,26,26,26,26,26,,,40,,,,,26,,,,26,40,40,40',
@@ -630,31 +630,31 @@ clist = [
630
630
  '181,181,181,181,181,,,200,,,,,181,,,,181,200,200,200,,200,,200,,200',
631
631
  ',200,200,200,200,200,200,200,200,200,200,200,200,200,200,,,207,,,,,200',
632
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' ]
633
+ '207,207,207,207,207,,,225,,,,,207,,,,207,225,225,225,,225,,225,,225',
634
+ ',225,225,225,225,225,225,225,225,225,225,225,225,225,225,,,248,,,,,225',
635
+ ',,,225,248,248,248,,248,,248,,248,,248,248,248,248,248,248,248,248,248',
636
+ '248,248,248,248,248,,,276,,,,,248,,,,248,276,276,276,,276,,276,,276',
637
+ ',276,276,276,276,276,276,276,276,276,276,276,276,276,276,,,312,,,,,276',
638
+ ',,,276,312,312,312,,312,,312,,312,,312,312,312,312,312,312,312,312,312',
639
+ '312,312,312,312,312,,,324,,,,,312,,,,312,324,324,324,,324,,324,,324',
640
+ ',324,324,324,324,324,324,324,324,324,324,324,324,324,324,,,325,,,,,324',
641
+ ',,,324,325,325,325,,325,,325,,325,,325,325,325,325,325,325,325,325,325',
642
+ '325,325,325,325,325,,,362,,,,,325,,,,325,362,362,362,,362,,362,,362',
643
+ ',362,362,362,362,362,362,362,362,362,362,362,362,362,362,,,364,,,,,362',
644
+ ',,,362,364,364,364,,364,,364,,364,,364,364,364,364,364,364,364,364,364',
645
+ '364,364,364,364,364,,,366,,,,,364,,,,364,366,366,366,,366,,366,,366',
646
+ ',366,366,366,366,366,366,366,366,366,366,366,366,366,366,,,368,,,,,366',
647
+ ',,,366,368,368,368,,368,,368,,368,,368,368,368,368,368,368,368,368,368',
648
+ '368,368,368,368,368,,,369,,,,,368,,,,368,369,369,369,,369,,369,,369',
649
+ ',369,369,369,369,369,369,369,369,369,369,369,369,369,369,,,370,,,,,369',
650
+ ',,,369,370,370,370,,370,,370,,370,,370,370,370,370,370,370,370,370,370',
651
+ '370,370,370,370,370,,,376,,,,,370,,,,370,376,376,376,,376,,376,,376',
652
+ ',376,376,376,376,376,376,376,376,376,376,376,376,376,376,,,392,,,,,376',
653
+ ',,,376,392,392,392,,392,,392,,392,,392,392,392,392,392,392,392,392,392',
654
+ '392,392,392,392,392,,,395,,,,,392,,,,392,395,395,395,,395,,395,,395',
655
+ ',395,395,395,395,395,395,395,395,395,395,395,395,395,395,,,396,,,,,395',
656
+ ',,,395,396,396,396,,396,,396,,396,,396,396,396,396,396,396,396,396,396',
657
+ '396,396,396,396,396,,,,,,,,396,,,,396' ]
658
658
  racc_action_check = arr = ::Array.new(3008, nil)
659
659
  idx = 0
660
660
  clist.each do |str|
@@ -686,175 +686,175 @@ racc_action_pointer = [
686
686
  nil, 2310, nil, 132, nil, nil, 202, nil, 450, nil,
687
687
  nil, nil, nil, nil, 758, 835, 912, 1280, 1346, 1321,
688
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 ]
689
+ 208, 210, 232, 238, 243, 4, 9, 10, 446, 503,
690
+ 245, 278, 280, nil, 505, 2418, nil, nil, nil, 465,
691
+ nil, 1412, nil, nil, nil, 1459, nil, nil, nil, nil,
692
+ 493, 490, 463, 511, 517, 27, 518, 534, 2454, nil,
693
+ nil, 489, 1066, nil, 491, nil, 483, 464, 501, 500,
694
+ nil, 527, nil, nil, 303, nil, nil, 38, 154, nil,
695
+ 279, nil, nil, 52, 1506, 77, 2490, -8, 1528, 528,
696
+ nil, 470, 548, nil, nil, 1550, 514, 1537, nil, nil,
697
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
698
+ 527, 528, 516, nil, 155, nil, nil, nil, nil, nil,
699
+ 168, nil, 2526, nil, nil, nil, 545, 546, 550, 87,
700
+ 88, 89, -62, -2, 2562, 2598, 572, nil, 156, 527,
701
+ 77, 156, 235, 565, 580, 581, nil, 563, nil, nil,
702
+ nil, nil, nil, nil, nil, nil, nil, 311, nil, nil,
703
+ nil, nil, nil, nil, nil, 546, 306, 340, 342, 565,
704
+ nil, nil, 2634, 592, 2670, 597, 2706, 598, 2742, 2778,
705
+ 2814, 363, nil, nil, 377, nil, 2850, 350, 573, 0,
706
+ 352, 577, 374, 581, 168, 185, 186, 456, 570, 591,
707
+ 618, 380, 2886, nil, 632, 2922, 2958, nil, nil, nil,
708
+ 594, nil, 610, nil, nil, 599, 385, nil, 387, 403,
709
+ nil, 612, nil, nil, 527, 602, nil, nil ]
710
710
 
711
711
  racc_action_default = [
712
- -245, -245, -241, -6, -15, -245, -4, -157, -160, -161,
712
+ -246, -246, -242, -6, -15, -246, -4, -157, -160, -161,
713
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,
714
+ -172, -173, -174, -175, -176, -242, -242, -246, -80, -184,
715
+ -246, -246, -243, -245, -16, -4, -147, 418, -1, -5,
716
+ -242, -242, -183, -242, -185, -178, -246, -246, -242, -242,
717
+ -182, -246, -204, -242, -104, -105, -106, -107, -108, -109,
718
718
  -110, -111, -112, -113, -114, -115, -116, -117, -118, -119,
719
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,
720
+ -130, -131, -132, -133, -134, -135, -136, -246, -188, -246,
721
+ -246, -246, -242, -246, -246, -246, -199, -200, -201, -202,
722
+ -235, -236, -237, -238, -244, -2, -7, -8, -9, -10,
723
+ -11, -12, -13, -16, -246, -246, -246, -246, -3, -80,
724
+ -246, -158, -159, -246, -179, -242, -180, -246, -246, -246,
725
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 ]
726
+ -163, -115, -167, -231, -197, -246, -208, -209, -211, -212,
727
+ -214, -215, -218, -221, -223, -224, -242, -242, -242, -242,
728
+ -246, -246, -246, -206, -187, -246, -242, -242, -242, -193,
729
+ -242, -242, -242, -17, -14, -14, -14, -242, -242, -242,
730
+ -240, -242, -79, -246, -149, -177, -186, -181, -81, -225,
731
+ -232, -233, -234, -198, -242, -242, -242, -219, -219, -231,
732
+ -242, -231, -231, -231, -246, -242, -246, -242, -189, -190,
733
+ -191, -192, -194, -195, -196, -242, -242, -242, -246, -246,
734
+ -154, -155, -156, -148, -246, -242, -207, -215, -210, -217,
735
+ -213, -246, -220, -222, -226, -231, -227, -228, -230, -82,
736
+ -246, -246, -203, -137, -137, -242, -137, -246, -242, -241,
737
+ -150, -205, -242, -229, -246, -83, -19, -145, -24, -30,
738
+ -26, -29, -57, -239, -153, -216, -30, -242, -246, -139,
739
+ -142, -146, -30, -242, -16, -242, -242, -16, -16, -20,
740
+ -138, -145, -246, -143, -144, -16, -25, -71, -23, -31,
741
+ -32, -33, -34, -35, -36, -37, -38, -39, -40, -41,
742
+ -246, -246, -246, -27, -246, -56, -58, -59, -60, -61,
743
+ -71, -18, -242, -140, -141, -22, -42, -42, -42, -242,
744
+ -242, -242, -68, -246, -242, -242, -246, -28, -246, -246,
745
+ -246, -246, -246, -62, -64, -66, -69, -246, -72, -86,
746
+ -87, -88, -89, -90, -91, -92, -93, -94, -97, -98,
747
+ -99, -100, -101, -102, -103, -129, -246, -53, -54, -246,
748
+ -21, -43, -242, -50, -242, -50, -242, -50, -242, -242,
749
+ -242, -73, -95, -96, -246, -151, -242, -44, -246, -246,
750
+ -46, -246, -48, -246, -246, -246, -246, -246, -246, -246,
751
+ -246, -55, -242, -51, -246, -242, -242, -63, -65, -67,
752
+ -15, -84, -246, -74, -75, -246, -45, -52, -47, -49,
753
+ -70, -76, -77, -85, -246, -15, -152, -78 ]
754
754
 
755
755
  racc_goto_table = [
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,
756
+ 6, 93, 129, 46, 92, 116, 127, 87, 114, 163,
757
+ 189, 200, 50, 204, 227, 38, 230, 259, 261, 128,
758
+ 356, 123, 229, 229, 47, 269, 410, 363, 365, 367,
759
+ 378, 1, 381, 34, 383, 215, 216, 217, 121, 122,
760
+ 35, 417, 106, 105, 118, 286, 261, 143, 261, 313,
761
+ 274, 256, 258, 375, 262, 232, 233, 278, 266, 241,
762
+ 330, 331, 332, 285, 272, 303, 234, 307, 236, 237,
763
+ 238, 390, 265, 308, 309, 246, 277, 306, 337, 229,
764
+ 387, 400, 119, 162, 402, 268, 200, 173, 282, 183,
765
+ 169, 218, 333, 334, 335, 228, 100, nil, nil, nil,
766
+ nil, nil, 253, 182, nil, nil, nil, nil, nil, nil,
767
+ nil, 416, nil, nil, nil, nil, nil, nil, nil, nil,
768
768
  nil, nil, nil, 186, nil, nil, nil, nil, nil, nil,
769
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,
770
+ nil, nil, 208, nil, nil, nil, nil, 226, 219, nil,
771
+ nil, nil, nil, nil, 199, 201, 202, 203, 240, nil,
772
+ nil, nil, nil, 242, 209, 210, 211, nil, 212, 213,
773
+ 214, nil, nil, 243, 244, nil, 220, 221, nil, 222,
774
+ nil, 251, nil, nil, nil, nil, 128, 128, 247, nil,
775
+ nil, nil, 143, 143, 143, nil, nil, nil, 235, nil,
776
776
  nil, nil, nil, 143, nil, nil, nil, nil, nil, nil,
777
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,
778
+ nil, nil, nil, nil, nil, 279, nil, nil, nil, nil,
779
+ nil, nil, nil, nil, nil, nil, nil, nil, 128, nil,
780
+ nil, nil, nil, nil, nil, 116, 264, nil, nil, 116,
781
+ 143, 310, nil, nil, 304, nil, 116, nil, nil, nil,
782
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
782
783
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
783
784
  nil, nil, nil, nil, nil, nil, nil, 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,
785
+ 328, nil, nil, nil, 354, nil, nil, nil, nil, nil,
786
+ nil, 354, 354, 354, 362, 364, 366, nil, nil, nil,
787
787
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
788
- 355, 356, nil, nil, nil, 352, nil, nil, nil, nil,
788
+ nil, nil, 357, 358, nil, nil, nil, 354, nil, nil,
789
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 ]
790
+ nil, nil, nil, nil, nil, 354, 384, 385, 386, nil,
791
+ nil, nil, nil, nil, nil, nil, nil, nil, 354, nil,
792
+ 377, 401, 380, nil, 382, nil, nil, nil, nil, nil,
793
+ nil, nil, nil, nil, 391, nil, nil, nil, nil, nil,
794
+ nil, nil, nil, nil, nil, 354, nil, nil, nil, nil,
795
+ 406, nil, nil, 408, 409 ]
796
796
 
797
797
  racc_goto_check = [
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,
798
+ 2, 52, 48, 20, 34, 59, 16, 62, 15, 60,
799
+ 75, 64, 46, 50, 70, 3, 70, 22, 24, 59,
800
+ 35, 20, 65, 65, 2, 54, 44, 35, 35, 35,
801
+ 36, 1, 36, 4, 36, 13, 13, 13, 2, 2,
802
+ 5, 44, 6, 3, 3, 22, 24, 2, 24, 54,
803
+ 19, 17, 17, 35, 17, 71, 71, 19, 18, 50,
804
+ 33, 33, 33, 19, 21, 23, 75, 26, 75, 75,
805
+ 75, 35, 70, 27, 32, 37, 38, 39, 40, 65,
806
+ 42, 43, 45, 49, 35, 53, 64, 15, 56, 57,
807
+ 2, 58, 24, 24, 24, 66, 76, nil, nil, nil,
808
+ nil, nil, 75, 46, nil, nil, nil, nil, nil, nil,
809
+ nil, 35, nil, nil, nil, nil, nil, nil, nil, nil,
810
810
  nil, nil, nil, 2, nil, nil, nil, nil, nil, nil,
811
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,
812
+ nil, nil, 62, nil, nil, nil, nil, 48, 59, nil,
813
+ nil, nil, nil, nil, 2, 2, 2, 2, 48, nil,
814
+ nil, nil, nil, 60, 2, 2, 2, nil, 2, 2,
815
+ 2, nil, nil, 16, 16, nil, 2, 2, nil, 2,
816
+ nil, 60, nil, nil, nil, nil, 59, 59, 59, nil,
817
817
  nil, nil, 2, 2, 2, nil, nil, nil, 2, nil,
818
818
  nil, nil, nil, 2, nil, nil, nil, nil, nil, nil,
819
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,
820
+ nil, nil, nil, nil, nil, 16, nil, nil, nil, nil,
821
+ nil, nil, nil, nil, nil, nil, nil, nil, 59, nil,
822
+ nil, nil, nil, nil, nil, 59, 2, nil, nil, 59,
823
+ 2, 15, nil, nil, 20, nil, 59, nil, nil, nil,
824
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
824
825
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
825
826
  nil, nil, nil, nil, nil, nil, 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,
827
+ 20, nil, nil, nil, 52, nil, nil, nil, nil, nil,
828
+ nil, 52, 52, 52, 34, 34, 34, nil, nil, nil,
829
829
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
830
- 2, 2, nil, nil, nil, 52, nil, nil, nil, nil,
830
+ nil, nil, 2, 2, nil, nil, nil, 52, nil, nil,
831
831
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
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 ]
832
+ nil, nil, nil, nil, nil, 52, 20, 20, 20, nil,
833
+ nil, nil, nil, nil, nil, nil, nil, nil, 52, nil,
834
+ 2, 34, 2, nil, 2, nil, nil, nil, nil, nil,
835
+ nil, nil, nil, nil, 2, nil, nil, nil, nil, nil,
836
+ nil, nil, nil, nil, nil, 52, nil, nil, nil, nil,
837
+ 2, nil, nil, 2, 2 ]
838
838
 
839
839
  racc_goto_pointer = [
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 ]
840
+ nil, 31, -2, 9, 30, 36, 8, nil, nil, nil,
841
+ nil, nil, nil, -139, nil, -26, -42, -192, -198, -209,
842
+ -22, -194, -228, -210, -227, nil, -210, -204, nil, nil,
843
+ nil, nil, -203, -256, -26, -303, -333, -142, -186, -200,
844
+ -244, nil, -291, -306, -374, 46, -16, nil, -47, 32,
845
+ -147, nil, -29, -172, -232, nil, -182, -31, -86, -29,
846
+ -44, nil, -23, nil, -145, -173, -100, nil, nil, nil,
847
+ -180, -142, nil, nil, nil, -133, 65 ]
848
848
 
849
849
  racc_goto_default = [
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 ]
850
+ nil, nil, 44, nil, nil, 411, 299, 107, 108, 109,
851
+ 110, 111, 112, nil, 36, 287, 115, nil, nil, nil,
852
+ nil, nil, nil, 260, 24, 289, 290, 291, 292, 293,
853
+ 294, 295, 298, nil, 144, nil, nil, nil, nil, nil,
854
+ nil, 322, nil, nil, nil, nil, nil, 51, nil, nil,
855
+ 52, 347, 145, nil, nil, 270, nil, nil, nil, 31,
856
+ 7, 29, nil, 88, 158, 146, 147, 148, 149, 150,
857
+ 151, 152, 153, 154, 155, nil, nil ]
858
858
 
859
859
  racc_reduce_table = [
860
860
  0, 0, :racc_error,
@@ -1017,45 +1017,45 @@ racc_reduce_table = [
1017
1017
  1, 83, :_reduce_none,
1018
1018
  3, 83, :_reduce_158,
1019
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,
1020
+ 1, 141, :_reduce_160,
1021
+ 1, 141, :_reduce_161,
1022
+ 1, 141, :_reduce_162,
1023
+ 1, 141, :_reduce_163,
1024
+ 1, 141, :_reduce_164,
1025
+ 1, 141, :_reduce_165,
1026
+ 1, 141, :_reduce_166,
1027
+ 1, 141, :_reduce_167,
1028
+ 1, 141, :_reduce_168,
1029
+ 1, 141, :_reduce_169,
1030
+ 1, 141, :_reduce_170,
1031
+ 1, 141, :_reduce_171,
1032
+ 1, 141, :_reduce_172,
1033
+ 1, 141, :_reduce_173,
1034
+ 1, 141, :_reduce_174,
1035
+ 1, 141, :_reduce_175,
1036
+ 1, 141, :_reduce_176,
1037
+ 4, 141, :_reduce_177,
1038
+ 2, 141, :_reduce_178,
1039
+ 3, 141, :_reduce_179,
1040
+ 3, 141, :_reduce_180,
1041
+ 4, 141, :_reduce_181,
1042
+ 2, 141, :_reduce_182,
1043
+ 2, 141, :_reduce_183,
1044
+ 1, 141, :_reduce_none,
1045
1045
  1, 101, :_reduce_185,
1046
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,
1051
- 3, 143, :_reduce_191,
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,
1047
+ 3, 142, :_reduce_187,
1048
+ 1, 143, :_reduce_188,
1049
+ 3, 143, :_reduce_189,
1050
+ 3, 144, :_reduce_190,
1051
+ 3, 144, :_reduce_191,
1052
+ 3, 144, :_reduce_192,
1053
+ 2, 144, :_reduce_193,
1054
+ 3, 144, :_reduce_194,
1055
+ 3, 144, :_reduce_195,
1056
+ 3, 144, :_reduce_196,
1057
+ 1, 145, :_reduce_none,
1058
+ 2, 145, :_reduce_198,
1059
1059
  1, 115, :_reduce_none,
1060
1060
  1, 115, :_reduce_none,
1061
1061
  1, 115, :_reduce_none,
@@ -1067,45 +1067,46 @@ racc_reduce_table = [
1067
1067
  3, 129, :_reduce_207,
1068
1068
  1, 129, :_reduce_208,
1069
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,
1075
- 1, 148, :_reduce_none,
1076
- 3, 150, :_reduce_216,
1077
- 1, 150, :_reduce_217,
1078
- 1, 150, :_reduce_none,
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,
1070
+ 3, 147, :_reduce_210,
1071
+ 1, 147, :_reduce_211,
1072
+ 1, 147, :_reduce_none,
1073
+ 3, 149, :_reduce_213,
1074
+ 1, 149, :_reduce_214,
1075
+ 1, 149, :_reduce_none,
1076
+ 3, 151, :_reduce_216,
1077
+ 1, 151, :_reduce_217,
1078
+ 1, 151, :_reduce_none,
1079
+ 0, 152, :_reduce_219,
1080
+ 3, 152, :_reduce_220,
1081
+ 1, 152, :_reduce_221,
1082
+ 3, 152, :_reduce_222,
1083
+ 1, 152, :_reduce_223,
1084
+ 1, 152, :_reduce_224,
1085
+ 2, 146, :_reduce_225,
1086
+ 3, 148, :_reduce_226,
1087
+ 3, 150, :_reduce_227,
1088
+ 3, 153, :_reduce_228,
1089
+ 4, 154, :_reduce_229,
1090
+ 3, 155, :_reduce_230,
1091
+ 0, 156, :_reduce_none,
1096
1092
  1, 156, :_reduce_none,
1097
1093
  1, 156, :_reduce_none,
1098
1094
  1, 156, :_reduce_none,
1095
+ 2, 105, :_reduce_235,
1096
+ 1, 157, :_reduce_none,
1097
+ 1, 157, :_reduce_none,
1098
+ 1, 157, :_reduce_none,
1099
1099
  2, 118, :_reduce_239,
1100
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 ]
1101
+ 2, 139, :_reduce_241,
1102
+ 0, 140, :_reduce_242,
1103
+ 1, 140, :_reduce_243,
1104
+ 2, 140, :_reduce_244,
1105
+ 1, 140, :_reduce_245 ]
1105
1106
 
1106
- racc_reduce_n = 245
1107
+ racc_reduce_n = 246
1107
1108
 
1108
- racc_shift_n = 416
1109
+ racc_shift_n = 418
1109
1110
 
1110
1111
  racc_token_table = {
1111
1112
  false => 0,
@@ -1350,6 +1351,7 @@ Racc_token_to_s_table = [
1350
1351
  "type_param_check",
1351
1352
  "type_param_variance",
1352
1353
  "type_params0",
1354
+ "type_alias_name",
1353
1355
  "namespace",
1354
1356
  "simple_type",
1355
1357
  "record_type",
@@ -3179,22 +3181,34 @@ module_eval(<<'.,.,', 'parser.y', 1032)
3179
3181
 
3180
3182
  module_eval(<<'.,.,', 'parser.y', 1041)
3181
3183
  def _reduce_241(val, _values, result)
3182
- result = nil
3184
+ namespace = val[0]&.value || Namespace.empty
3185
+ name = val[1].value.to_sym
3186
+ type_name = TypeName.new(namespace: namespace, name: name)
3187
+ location = (loc0 = val[0]&.location) ? loc0 + val[1].location : val[1].location
3188
+ result = LocatedValue.new(value: type_name, location: location)
3183
3189
 
3184
3190
  result
3185
3191
  end
3186
3192
  .,.,
3187
3193
 
3188
- module_eval(<<'.,.,', 'parser.y', 1044)
3194
+ module_eval(<<'.,.,', 'parser.y', 1051)
3189
3195
  def _reduce_242(val, _values, result)
3190
- result = LocatedValue.new(value: Namespace.root, location: val[0].location)
3196
+ result = nil
3191
3197
 
3192
3198
  result
3193
3199
  end
3194
3200
  .,.,
3195
3201
 
3196
- module_eval(<<'.,.,', 'parser.y', 1047)
3202
+ module_eval(<<'.,.,', 'parser.y', 1054)
3197
3203
  def _reduce_243(val, _values, result)
3204
+ result = LocatedValue.new(value: Namespace.root, location: val[0].location)
3205
+
3206
+ result
3207
+ end
3208
+ .,.,
3209
+
3210
+ module_eval(<<'.,.,', 'parser.y', 1057)
3211
+ def _reduce_244(val, _values, result)
3198
3212
  namespace = Namespace.parse(val[1].value).absolute!
3199
3213
  result = LocatedValue.new(value: namespace, location: val[0].location + val[1].location)
3200
3214
 
@@ -3202,8 +3216,8 @@ module_eval(<<'.,.,', 'parser.y', 1047)
3202
3216
  end
3203
3217
  .,.,
3204
3218
 
3205
- module_eval(<<'.,.,', 'parser.y', 1051)
3206
- def _reduce_244(val, _values, result)
3219
+ module_eval(<<'.,.,', 'parser.y', 1061)
3220
+ def _reduce_245(val, _values, result)
3207
3221
  namespace = Namespace.parse(val[0].value)
3208
3222
  result = LocatedValue.new(value: namespace, location: val[0].location)
3209
3223