rbs 1.0.0 → 1.0.1
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.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +10 -4
- data/CHANGELOG.md +22 -0
- data/Gemfile +7 -2
- data/README.md +1 -1
- data/Rakefile +3 -4
- data/bin/test_runner.rb +4 -5
- data/core/encoding.rbs +1 -1
- data/core/file.rbs +1 -0
- data/core/io.rbs +75 -4
- data/core/kernel.rbs +56 -56
- data/core/module.rbs +2 -2
- data/core/unbound_method.rbs +16 -0
- data/docs/CONTRIBUTING.md +2 -2
- data/docs/stdlib.md +50 -12
- data/goodcheck.yml +1 -1
- data/lib/rbs/definition_builder.rb +24 -20
- data/lib/rbs/parser.rb +347 -333
- data/lib/rbs/parser.y +12 -2
- data/lib/rbs/prototype/rb.rb +14 -4
- data/lib/rbs/test/setup_helper.rb +0 -1
- data/lib/rbs/version.rb +1 -1
- data/rbs.gemspec +1 -0
- data/sig/definition_builder.rbs +3 -2
- data/stdlib/fileutils/0/fileutils.rbs +585 -0
- data/stdlib/pathname/0/pathname.rbs +1 -1
- data/stdlib/prettyprint/0/prettyprint.rbs +366 -0
- data/stdlib/uri/0/common.rbs +1 -1
- metadata +6 -5
- data/core/data.rbs +0 -5
data/core/module.rbs
CHANGED
@@ -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]
|
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]
|
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
|
data/core/unbound_method.rbs
CHANGED
@@ -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
|
data/docs/CONTRIBUTING.md
CHANGED
@@ -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
|
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
|
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.
|
data/docs/stdlib.md
CHANGED
@@ -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
|
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
|
122
|
-
|
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
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
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
|
137
|
-
`
|
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.
|
data/goodcheck.yml
CHANGED
@@ -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
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
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
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
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
|
-
|
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
|
-
|
767
|
+
cc[key] = false
|
764
768
|
begin
|
765
|
-
|
769
|
+
cc[key] = yield
|
766
770
|
rescue => ex
|
767
|
-
|
771
|
+
cc.delete(key)
|
768
772
|
raise ex
|
769
773
|
end
|
770
774
|
else
|
data/lib/rbs/parser.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#
|
2
2
|
# DO NOT MODIFY!!!!
|
3
|
-
# This file is automatically generated by Racc 1.5.
|
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',
|
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+(\?|\!)
|
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
|
-
'
|
405
|
-
'40,41,55,56,57,58,59,60,61,62,
|
406
|
-
'32,53,
|
407
|
-
'76,75,
|
408
|
-
'32,96,97,98,99,104,49,39,33,33,33,
|
409
|
-
'58,59,60,61,62,79,185,63,54,64,65,66,77,67,68,69,83,53,32,160,
|
410
|
-
'
|
411
|
-
'
|
412
|
-
'99,164,179,101,102,165,103,
|
413
|
-
'60,61,62,79,
|
414
|
-
'
|
415
|
-
'73,78,80,167,
|
416
|
-
'2,3,4,40,41,171,
|
417
|
-
'63,54,64,65,66,77,67,68,69,83,40,41,113,
|
418
|
-
'40,41,40,41,
|
419
|
-
'
|
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
|
-
'
|
422
|
-
'75,
|
423
|
-
'39,-106,
|
424
|
-
'64,65,66,77,67,68,69,83,40,41,-108,
|
425
|
-
'41,40,41,
|
426
|
-
'84,85,81,86,
|
427
|
-
'194,
|
428
|
-
'64,65,66,77,67,68,69,83,
|
429
|
-
'252,
|
430
|
-
'
|
431
|
-
'
|
432
|
-
'
|
433
|
-
'72,74,76,75,
|
434
|
-
'
|
435
|
-
'133,134,135,136,137,138,142,16,139,130,140,141,66,77,67,68,69,83,
|
436
|
-
'32,405,
|
437
|
-
'
|
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,,
|
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,,
|
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,,,,,
|
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,,,,,
|
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,-
|
467
|
-
',,192,,,192,,,192,,-
|
468
|
-
',,32,-
|
469
|
-
',175,,,
|
470
|
-
'22,23,21,
|
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
|
-
'
|
527
|
-
'44,44,
|
528
|
-
'
|
529
|
-
'
|
530
|
-
'27,
|
531
|
-
'
|
532
|
-
'123,
|
533
|
-
'206,
|
534
|
-
'
|
535
|
-
'
|
536
|
-
'
|
537
|
-
'
|
538
|
-
'
|
539
|
-
'
|
540
|
-
'210,210,211,211,
|
541
|
-
'
|
542
|
-
'214,214,
|
543
|
-
'
|
544
|
-
'
|
545
|
-
'
|
546
|
-
'34,
|
547
|
-
'
|
548
|
-
'
|
549
|
-
'
|
550
|
-
'
|
551
|
-
'
|
552
|
-
'
|
553
|
-
'
|
554
|
-
'
|
555
|
-
'
|
556
|
-
'
|
557
|
-
'
|
558
|
-
'
|
559
|
-
'
|
560
|
-
'335,
|
561
|
-
'49,381,49,49,49,
|
562
|
-
'49,49,49,49,49,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,
|
581
|
-
',
|
582
|
-
'
|
583
|
-
'
|
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,
|
595
|
-
',,,
|
596
|
-
'
|
597
|
-
'
|
598
|
-
'
|
599
|
-
',
|
600
|
-
'
|
601
|
-
'
|
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,,,
|
634
|
-
',
|
635
|
-
',,,
|
636
|
-
'
|
637
|
-
',
|
638
|
-
',,,
|
639
|
-
'
|
640
|
-
',
|
641
|
-
',,,
|
642
|
-
'
|
643
|
-
',
|
644
|
-
',,,
|
645
|
-
'
|
646
|
-
',
|
647
|
-
',,,
|
648
|
-
'
|
649
|
-
',
|
650
|
-
',,,
|
651
|
-
'
|
652
|
-
',
|
653
|
-
',,,
|
654
|
-
'
|
655
|
-
',
|
656
|
-
',,,
|
657
|
-
'
|
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,
|
690
|
-
278, 280, nil,
|
691
|
-
1412, nil, nil, nil, 1459, nil, nil, nil, nil,
|
692
|
-
|
693
|
-
|
694
|
-
nil, nil, 303, nil, nil, 38, 154, nil,
|
695
|
-
nil, 52, 1506, 77, 2490, -8, 1528,
|
696
|
-
|
697
|
-
nil, nil, nil, nil, nil, nil, nil, nil,
|
698
|
-
|
699
|
-
2526, nil, nil, nil,
|
700
|
-
-62, -2, 2562, 2598,
|
701
|
-
|
702
|
-
nil, nil, nil, nil, nil,
|
703
|
-
nil, nil, nil,
|
704
|
-
2634,
|
705
|
-
nil, nil, 377, nil, 2850, 350,
|
706
|
-
|
707
|
-
2886, nil,
|
708
|
-
|
709
|
-
nil, nil, 527,
|
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
|
-
-
|
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, -
|
715
|
-
-
|
716
|
-
-
|
717
|
-
-182, -
|
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, -
|
721
|
-
-
|
722
|
-
-235, -236, -237, -238, -
|
723
|
-
-11, -12, -13, -16, -
|
724
|
-
-
|
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, -
|
727
|
-
-214, -215, -218, -221, -223, -224, -
|
728
|
-
-
|
729
|
-
-
|
730
|
-
-240, -
|
731
|
-
-232, -233, -234, -198, -
|
732
|
-
-
|
733
|
-
-191, -192, -194, -195, -196, -
|
734
|
-
-155, -156, -148, -
|
735
|
-
-
|
736
|
-
-
|
737
|
-
-
|
738
|
-
-57, -239, -153, -216, -30, -
|
739
|
-
-30, -
|
740
|
-
-
|
741
|
-
-34, -35, -36, -37, -38, -39, -40, -41,
|
742
|
-
-
|
743
|
-
-
|
744
|
-
-68, -
|
745
|
-
-
|
746
|
-
-89, -90, -91, -92, -93, -94, -97, -98,
|
747
|
-
-101, -102, -103, -129, -
|
748
|
-
|
749
|
-
-95, -96, -
|
750
|
-
-
|
751
|
-
-
|
752
|
-
-
|
753
|
-
-77, -85, -
|
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,
|
757
|
-
|
758
|
-
|
759
|
-
|
760
|
-
|
761
|
-
|
762
|
-
330,
|
763
|
-
|
764
|
-
|
765
|
-
169,
|
766
|
-
nil,
|
767
|
-
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,
|
771
|
-
|
772
|
-
|
773
|
-
214,
|
774
|
-
nil,
|
775
|
-
nil, nil, 143, 143, 143, nil, nil, 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,
|
779
|
-
nil, nil, nil,
|
780
|
-
|
781
|
-
|
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
|
-
|
785
|
-
nil,
|
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
|
-
|
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,
|
791
|
-
nil, nil, nil, nil, nil, nil,
|
792
|
-
|
793
|
-
nil, nil,
|
794
|
-
nil, nil, nil,
|
795
|
-
nil,
|
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,
|
799
|
-
|
800
|
-
|
801
|
-
36, 1, 36,
|
802
|
-
|
803
|
-
|
804
|
-
33,
|
805
|
-
|
806
|
-
|
807
|
-
2,
|
808
|
-
nil,
|
809
|
-
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,
|
813
|
-
|
814
|
-
|
815
|
-
2,
|
816
|
-
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,
|
821
|
-
nil, nil, nil,
|
822
|
-
|
823
|
-
|
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
|
-
|
827
|
-
nil,
|
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,
|
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,
|
833
|
-
nil, nil, nil, nil, nil, nil, 52, nil,
|
834
|
-
2,
|
835
|
-
nil, nil,
|
836
|
-
nil, nil, 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,
|
841
|
-
nil, nil, nil, -139, nil, -
|
842
|
-
-22, -194, -
|
843
|
-
nil, nil, -
|
844
|
-
-
|
845
|
-
-
|
846
|
-
nil, -
|
847
|
-
-
|
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,
|
851
|
-
110, 111, 112, nil, 36,
|
852
|
-
nil, nil, nil,
|
853
|
-
|
854
|
-
nil,
|
855
|
-
52,
|
856
|
-
29, nil, 88, 158, 146, 147, 148, 149, 150,
|
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,
|
1021
|
-
1,
|
1022
|
-
1,
|
1023
|
-
1,
|
1024
|
-
1,
|
1025
|
-
1,
|
1026
|
-
1,
|
1027
|
-
1,
|
1028
|
-
1,
|
1029
|
-
1,
|
1030
|
-
1,
|
1031
|
-
1,
|
1032
|
-
1,
|
1033
|
-
1,
|
1034
|
-
1,
|
1035
|
-
1,
|
1036
|
-
1,
|
1037
|
-
4,
|
1038
|
-
2,
|
1039
|
-
3,
|
1040
|
-
3,
|
1041
|
-
4,
|
1042
|
-
2,
|
1043
|
-
2,
|
1044
|
-
1,
|
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,
|
1048
|
-
1,
|
1049
|
-
3,
|
1050
|
-
3,
|
1051
|
-
3,
|
1052
|
-
3,
|
1053
|
-
2,
|
1054
|
-
3,
|
1055
|
-
3,
|
1056
|
-
3,
|
1057
|
-
1,
|
1058
|
-
2,
|
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,
|
1071
|
-
1,
|
1072
|
-
1,
|
1073
|
-
3,
|
1074
|
-
1,
|
1075
|
-
1,
|
1076
|
-
3,
|
1077
|
-
1,
|
1078
|
-
1,
|
1079
|
-
0,
|
1080
|
-
3,
|
1081
|
-
1,
|
1082
|
-
3,
|
1083
|
-
1,
|
1084
|
-
1,
|
1085
|
-
2,
|
1086
|
-
3,
|
1087
|
-
3,
|
1088
|
-
3,
|
1089
|
-
4,
|
1090
|
-
3,
|
1091
|
-
0,
|
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
|
-
|
1102
|
-
|
1103
|
-
|
1104
|
-
|
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 =
|
1107
|
+
racc_reduce_n = 246
|
1107
1108
|
|
1108
|
-
racc_shift_n =
|
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
|
-
|
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',
|
3194
|
+
module_eval(<<'.,.,', 'parser.y', 1051)
|
3189
3195
|
def _reduce_242(val, _values, result)
|
3190
|
-
result =
|
3196
|
+
result = nil
|
3191
3197
|
|
3192
3198
|
result
|
3193
3199
|
end
|
3194
3200
|
.,.,
|
3195
3201
|
|
3196
|
-
module_eval(<<'.,.,', 'parser.y',
|
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',
|
3206
|
-
def
|
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
|
|