steep 0.1.0.pre2 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.travis.yml +1 -1
- data/README.md +146 -33
- data/bin/smoke_runner.rb +43 -10
- data/lib/steep/ast/annotation/collection.rb +93 -0
- data/lib/steep/ast/annotation.rb +131 -0
- data/lib/steep/ast/buffer.rb +47 -0
- data/lib/steep/ast/location.rb +82 -0
- data/lib/steep/ast/method_type.rb +116 -0
- data/lib/steep/ast/signature/class.rb +33 -0
- data/lib/steep/ast/signature/const.rb +17 -0
- data/lib/steep/ast/signature/env.rb +123 -0
- data/lib/steep/ast/signature/extension.rb +21 -0
- data/lib/steep/ast/signature/gvar.rb +17 -0
- data/lib/steep/ast/signature/interface.rb +31 -0
- data/lib/steep/ast/signature/members.rb +71 -0
- data/lib/steep/ast/signature/module.rb +21 -0
- data/lib/steep/ast/type_params.rb +13 -0
- data/lib/steep/ast/types/any.rb +39 -0
- data/lib/steep/ast/types/bot.rb +39 -0
- data/lib/steep/ast/types/class.rb +35 -0
- data/lib/steep/ast/types/helper.rb +21 -0
- data/lib/steep/ast/types/instance.rb +39 -0
- data/lib/steep/ast/types/intersection.rb +74 -0
- data/lib/steep/ast/types/name.rb +124 -0
- data/lib/steep/ast/types/self.rb +39 -0
- data/lib/steep/ast/types/top.rb +39 -0
- data/lib/steep/ast/types/union.rb +74 -0
- data/lib/steep/ast/types/var.rb +57 -0
- data/lib/steep/ast/types/void.rb +35 -0
- data/lib/steep/cli.rb +28 -1
- data/lib/steep/drivers/annotations.rb +32 -0
- data/lib/steep/drivers/check.rb +53 -77
- data/lib/steep/drivers/scaffold.rb +303 -0
- data/lib/steep/drivers/utils/each_signature.rb +66 -0
- data/lib/steep/drivers/utils/validator.rb +115 -0
- data/lib/steep/drivers/validate.rb +39 -0
- data/lib/steep/errors.rb +291 -19
- data/lib/steep/interface/abstract.rb +44 -0
- data/lib/steep/interface/builder.rb +470 -0
- data/lib/steep/interface/instantiated.rb +126 -0
- data/lib/steep/interface/ivar_chain.rb +26 -0
- data/lib/steep/interface/method.rb +60 -0
- data/lib/steep/{interface.rb → interface/method_type.rb} +111 -100
- data/lib/steep/interface/substitution.rb +65 -0
- data/lib/steep/module_name.rb +116 -0
- data/lib/steep/parser.rb +1314 -814
- data/lib/steep/parser.y +536 -175
- data/lib/steep/source.rb +220 -25
- data/lib/steep/subtyping/check.rb +673 -0
- data/lib/steep/subtyping/constraints.rb +275 -0
- data/lib/steep/subtyping/relation.rb +41 -0
- data/lib/steep/subtyping/result.rb +126 -0
- data/lib/steep/subtyping/trace.rb +48 -0
- data/lib/steep/subtyping/variable_occurrence.rb +49 -0
- data/lib/steep/subtyping/variable_variance.rb +69 -0
- data/lib/steep/type_construction.rb +1630 -524
- data/lib/steep/type_inference/block_params.rb +100 -0
- data/lib/steep/type_inference/constant_env.rb +55 -0
- data/lib/steep/type_inference/send_args.rb +222 -0
- data/lib/steep/type_inference/type_env.rb +226 -0
- data/lib/steep/type_name.rb +27 -7
- data/lib/steep/typing.rb +4 -0
- data/lib/steep/version.rb +1 -1
- data/lib/steep.rb +71 -16
- data/smoke/and/a.rb +4 -2
- data/smoke/array/a.rb +4 -5
- data/smoke/array/b.rb +4 -4
- data/smoke/block/a.rb +2 -2
- data/smoke/block/a.rbi +2 -0
- data/smoke/block/b.rb +15 -0
- data/smoke/case/a.rb +3 -3
- data/smoke/class/a.rb +3 -3
- data/smoke/class/b.rb +0 -2
- data/smoke/class/d.rb +2 -2
- data/smoke/class/e.rb +1 -1
- data/smoke/class/f.rb +2 -2
- data/smoke/class/g.rb +8 -0
- data/smoke/const/a.rb +3 -3
- data/smoke/dstr/a.rb +1 -1
- data/smoke/ensure/a.rb +22 -0
- data/smoke/enumerator/a.rb +6 -6
- data/smoke/enumerator/b.rb +22 -0
- data/smoke/extension/a.rb +2 -2
- data/smoke/extension/b.rb +3 -3
- data/smoke/extension/c.rb +1 -1
- data/smoke/hello/hello.rb +2 -2
- data/smoke/if/a.rb +4 -2
- data/smoke/kwbegin/a.rb +8 -0
- data/smoke/literal/a.rb +5 -5
- data/smoke/method/a.rb +5 -5
- data/smoke/method/a.rbi +4 -0
- data/smoke/method/b.rb +29 -0
- data/smoke/module/a.rb +3 -3
- data/smoke/module/a.rbi +9 -0
- data/smoke/module/b.rb +2 -2
- data/smoke/module/c.rb +1 -1
- data/smoke/module/d.rb +5 -0
- data/smoke/module/e.rb +13 -0
- data/smoke/module/f.rb +13 -0
- data/smoke/rescue/a.rb +62 -0
- data/smoke/super/a.rb +2 -2
- data/smoke/type_case/a.rb +35 -0
- data/smoke/yield/a.rb +2 -2
- data/stdlib/builtin.rbi +463 -24
- data/steep.gemspec +3 -2
- metadata +91 -29
- data/lib/steep/annotation.rb +0 -223
- data/lib/steep/signature/class.rb +0 -450
- data/lib/steep/signature/extension.rb +0 -51
- data/lib/steep/signature/interface.rb +0 -49
- data/lib/steep/types/any.rb +0 -31
- data/lib/steep/types/class.rb +0 -27
- data/lib/steep/types/instance.rb +0 -27
- data/lib/steep/types/merge.rb +0 -32
- data/lib/steep/types/name.rb +0 -57
- data/lib/steep/types/union.rb +0 -42
- data/lib/steep/types/var.rb +0 -38
- data/lib/steep/types.rb +0 -4
data/lib/steep/parser.rb
CHANGED
@@ -8,32 +8,58 @@ require 'racc/parser.rb'
|
|
8
8
|
module Steep
|
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', 502)
|
12
12
|
|
13
13
|
require "strscan"
|
14
14
|
|
15
15
|
attr_reader :input
|
16
|
+
attr_reader :buffer
|
17
|
+
attr_reader :offset
|
16
18
|
|
17
|
-
def initialize(type, input)
|
19
|
+
def initialize(type, buffer:, offset:, input: nil)
|
18
20
|
super()
|
19
21
|
@type = type
|
20
|
-
@
|
22
|
+
@buffer = buffer
|
23
|
+
@input = StringScanner.new(input || buffer.content)
|
24
|
+
@offset = offset
|
21
25
|
end
|
22
26
|
|
23
|
-
def self.parse_method(input)
|
24
|
-
new(:METHOD, input).do_parse
|
27
|
+
def self.parse_method(input, name: nil)
|
28
|
+
new(:METHOD, buffer: AST::Buffer.new(name: name, content: input), offset: 0).do_parse
|
25
29
|
end
|
26
30
|
|
27
|
-
def self.parse_signature(input)
|
28
|
-
new(:SIGNATURE, input).do_parse
|
31
|
+
def self.parse_signature(input, name: nil)
|
32
|
+
new(:SIGNATURE, buffer: AST::Buffer.new(name: name, content: input), offset: 0).do_parse
|
29
33
|
end
|
30
34
|
|
31
|
-
def self.parse_annotation_opt(input)
|
32
|
-
new(:ANNOTATION, input).do_parse
|
33
|
-
rescue
|
35
|
+
def self.parse_annotation_opt(input, buffer:, offset: 0)
|
36
|
+
new(:ANNOTATION, input: input, buffer: buffer, offset: offset).do_parse
|
37
|
+
rescue => exn
|
38
|
+
Steep.logger.debug "Parsing comment failed: #{exn.inspect}"
|
34
39
|
nil
|
35
40
|
end
|
36
41
|
|
42
|
+
class LocatedValue
|
43
|
+
attr_reader :location
|
44
|
+
attr_reader :value
|
45
|
+
|
46
|
+
def initialize(location:, value:)
|
47
|
+
@location = location
|
48
|
+
@value = value
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
def new_token(type, value = nil)
|
53
|
+
start_index = offset + input.pos - input.matched.bytesize
|
54
|
+
end_index = offset + input.pos
|
55
|
+
|
56
|
+
location = AST::Location.new(buffer: buffer,
|
57
|
+
start_pos: start_index,
|
58
|
+
end_pos: end_index)
|
59
|
+
|
60
|
+
[type, LocatedValue.new(location: location, value: value)]
|
61
|
+
end
|
62
|
+
|
37
63
|
def next_token
|
38
64
|
if @type
|
39
65
|
type = @type
|
@@ -49,500 +75,675 @@ def next_token
|
|
49
75
|
when input.eos?
|
50
76
|
[false, false]
|
51
77
|
when input.scan(/->/)
|
52
|
-
|
78
|
+
new_token(:ARROW)
|
53
79
|
when input.scan(/\?/)
|
54
|
-
|
80
|
+
new_token(:QUESTION)
|
55
81
|
when input.scan(/\(/)
|
56
|
-
|
82
|
+
new_token(:LPAREN, nil)
|
57
83
|
when input.scan(/\)/)
|
58
|
-
|
84
|
+
new_token(:RPAREN, nil)
|
59
85
|
when input.scan(/{/)
|
60
|
-
|
86
|
+
new_token(:LBRACE, nil)
|
61
87
|
when input.scan(/}/)
|
62
|
-
|
88
|
+
new_token(:RBRACE, nil)
|
63
89
|
when input.scan(/,/)
|
64
|
-
|
65
|
-
when input.scan(
|
66
|
-
|
67
|
-
when input.scan(/::[A-Z]\w*(::[A-Z]\w*)*/)
|
68
|
-
[:CONST_PATH, input.matched.to_sym]
|
90
|
+
new_token(:COMMA, nil)
|
91
|
+
when input.scan(/::/)
|
92
|
+
new_token(:COLON2)
|
69
93
|
when input.scan(/:/)
|
70
|
-
|
94
|
+
new_token(:COLON)
|
71
95
|
when input.scan(/\*\*/)
|
72
|
-
|
96
|
+
new_token(:STAR2, :**)
|
73
97
|
when input.scan(/\*/)
|
74
|
-
|
98
|
+
new_token(:STAR, :*)
|
75
99
|
when input.scan(/\+/)
|
76
|
-
|
100
|
+
new_token(:PLUS, :+)
|
77
101
|
when input.scan(/\./)
|
78
|
-
|
102
|
+
new_token(:DOT)
|
79
103
|
when input.scan(/<:/)
|
80
|
-
|
104
|
+
new_token(:LTCOLON)
|
81
105
|
when input.scan(/(\[\]=)|(\[\])|===|==|\^|!=|<</)
|
82
|
-
|
106
|
+
new_token(:OPERATOR, input.matched.to_sym)
|
107
|
+
when input.scan(/<=/)
|
108
|
+
new_token(:OPERATOR, :<=)
|
109
|
+
when input.scan(/>=/)
|
110
|
+
new_token(:OPERATOR, :>=)
|
83
111
|
when input.scan(/</)
|
84
|
-
|
112
|
+
new_token(:LT, :<)
|
85
113
|
when input.scan(/>/)
|
86
|
-
|
114
|
+
new_token(:GT, :>)
|
115
|
+
when input.scan(/nil\b/)
|
116
|
+
new_token(:NIL, :nil)
|
87
117
|
when input.scan(/any\b/)
|
88
|
-
|
118
|
+
new_token(:ANY, :any)
|
119
|
+
when input.scan(/void\b/)
|
120
|
+
new_token(:VOID, :void)
|
89
121
|
when input.scan(/interface\b/)
|
90
|
-
|
122
|
+
new_token(:INTERFACE, :interface)
|
91
123
|
when input.scan(/end\b/)
|
92
|
-
|
124
|
+
new_token(:END, :end)
|
93
125
|
when input.scan(/\|/)
|
94
|
-
|
126
|
+
new_token(:BAR, :bar)
|
95
127
|
when input.scan(/def\b/)
|
96
|
-
|
128
|
+
new_token(:DEF)
|
97
129
|
when input.scan(/@type\b/)
|
98
|
-
|
130
|
+
new_token(:AT_TYPE)
|
99
131
|
when input.scan(/@implements\b/)
|
100
|
-
|
132
|
+
new_token(:AT_IMPLEMENTS)
|
101
133
|
when input.scan(/@dynamic\b/)
|
102
|
-
|
134
|
+
new_token(:AT_DYNAMIC)
|
103
135
|
when input.scan(/const\b/)
|
104
|
-
|
136
|
+
new_token(:CONST, :const)
|
105
137
|
when input.scan(/var\b/)
|
106
|
-
|
138
|
+
new_token(:VAR, :var)
|
107
139
|
when input.scan(/return\b/)
|
108
|
-
|
140
|
+
new_token(:RETURN)
|
109
141
|
when input.scan(/block\b/)
|
110
|
-
|
142
|
+
new_token(:BLOCK, :block)
|
143
|
+
when input.scan(/break\b/)
|
144
|
+
new_token(:BREAK, :break)
|
111
145
|
when input.scan(/method\b/)
|
112
|
-
|
146
|
+
new_token(:METHOD, :method)
|
113
147
|
when input.scan(/self\?/)
|
114
|
-
|
148
|
+
new_token(:SELFQ)
|
115
149
|
when input.scan(/self\b/)
|
116
|
-
|
150
|
+
new_token(:SELF, :self)
|
117
151
|
when input.scan(/'\w+/)
|
118
|
-
|
152
|
+
new_token(:TVAR, input.matched.gsub(/\A'/, '').to_sym)
|
119
153
|
when input.scan(/instance\b/)
|
120
|
-
|
154
|
+
new_token(:INSTANCE, :instance)
|
121
155
|
when input.scan(/class\b/)
|
122
|
-
|
156
|
+
new_token(:CLASS, :class)
|
123
157
|
when input.scan(/module\b/)
|
124
|
-
|
158
|
+
new_token(:MODULE, :module)
|
159
|
+
when input.scan(/include\?/)
|
160
|
+
new_token(:METHOD_NAME, :include?)
|
125
161
|
when input.scan(/include\b/)
|
126
|
-
|
162
|
+
new_token(:INCLUDE, :include)
|
127
163
|
when input.scan(/extend\b/)
|
128
|
-
|
164
|
+
new_token(:EXTEND, :extend)
|
129
165
|
when input.scan(/instance\b/)
|
130
|
-
|
166
|
+
new_token(:INSTANCE, :instance)
|
131
167
|
when input.scan(/ivar\b/)
|
132
|
-
|
168
|
+
new_token(:IVAR, :ivar)
|
169
|
+
when input.scan(/%/)
|
170
|
+
new_token(:PERCENT, :%)
|
171
|
+
when input.scan(/-/)
|
172
|
+
new_token(:MINUS, :-)
|
173
|
+
when input.scan(/&/)
|
174
|
+
new_token(:OPERATOR, :&)
|
175
|
+
when input.scan(/~/)
|
176
|
+
new_token(:OPERATOR, :~)
|
177
|
+
when input.scan(/\//)
|
178
|
+
new_token(:OPERATOR, :/)
|
179
|
+
when input.scan(/!/)
|
180
|
+
new_token(:OPERATOR, :!)
|
133
181
|
when input.scan(/extension\b/)
|
134
|
-
|
182
|
+
new_token(:EXTENSION, :extension)
|
135
183
|
when input.scan(/constructor\b/)
|
136
|
-
|
184
|
+
new_token(:CONSTRUCTOR, true)
|
137
185
|
when input.scan(/noconstructor\b/)
|
138
|
-
|
139
|
-
when input.scan(
|
140
|
-
|
141
|
-
when input.scan(
|
142
|
-
|
186
|
+
new_token(:NOCONSTRUCTOR, false)
|
187
|
+
when input.scan(/\w+(\!|\?|=)/)
|
188
|
+
new_token(:METHOD_NAME, input.matched.to_sym)
|
189
|
+
when input.scan(/\$\w+\b/)
|
190
|
+
new_token(:GVAR, input.matched.to_sym)
|
143
191
|
when input.scan(/[A-Z]\w*/)
|
144
|
-
|
192
|
+
new_token(:UIDENT, input.matched.to_sym)
|
145
193
|
when input.scan(/_\w+/)
|
146
|
-
|
147
|
-
when input.scan(
|
148
|
-
|
194
|
+
new_token(:INTERFACE_NAME, input.matched.to_sym)
|
195
|
+
when input.scan(/@\w+/)
|
196
|
+
new_token(:IVAR_NAME, input.matched.to_sym)
|
149
197
|
when input.scan(/\w+/)
|
150
|
-
|
198
|
+
new_token(:IDENT, input.matched.to_sym)
|
151
199
|
end
|
152
200
|
end
|
153
201
|
...end parser.y/module_eval...
|
154
202
|
##### State transition tables begin ###
|
155
203
|
|
156
204
|
racc_action_table = [
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
205
|
+
94, 166, 93, 2, 3, 4, 97, 98, 78, 164,
|
206
|
+
83, 84, 85, 270, 79, 272, 77, 275, 101, 102,
|
207
|
+
100, 75, 76, 90, 87, 248, 80, 81, 276, 91,
|
208
|
+
24, 23, 246, 247, 86, 249, 82, 88, 89, 92,
|
209
|
+
95, 96, 99, 94, 277, 93, 24, 23, 278, 97,
|
210
|
+
98, 78, 136, 83, 84, 85, 106, 79, 279, 77,
|
211
|
+
8, 101, 102, 100, 75, 76, 90, 87, 26, 80,
|
212
|
+
81, 288, 91, 27, 28, 289, 107, 86, 290, 82,
|
213
|
+
88, 89, 92, 95, 96, 99, 94, 293, 93, 24,
|
214
|
+
23, 294, 97, 98, 78, 295, 83, 84, 85, 296,
|
215
|
+
79, 297, 77, 300, 101, 102, 100, 75, 76, 90,
|
216
|
+
87, 248, 80, 81, 301, 91, 233, 234, 246, 247,
|
217
|
+
86, 249, 82, 88, 89, 92, 95, 96, 99, 94,
|
218
|
+
8, 93, 24, 23, 8, 97, 98, 78, 306, 83,
|
219
|
+
84, 85, 106, 79, 307, 77, 308, 101, 102, 100,
|
220
|
+
75, 76, 90, 87, 309, 80, 81, 8, 91, 24,
|
221
|
+
23, 8, 107, 86, 5, 82, 88, 89, 92, 95,
|
222
|
+
96, 99, 94, 8, 93, 180, 181, 29, 97, 98,
|
223
|
+
78, 48, 83, 84, 85, 286, 79, 55, 77, 56,
|
224
|
+
101, 102, 100, 75, 76, 90, 87, 58, 80, 81,
|
225
|
+
24, 91, 24, 23, 63, 287, 86, 109, 82, 88,
|
226
|
+
89, 92, 95, 96, 99, 94, 134, 93, 24, 23,
|
227
|
+
135, 97, 98, 78, 136, 83, 84, 85, 137, 79,
|
228
|
+
138, 77, 8, 101, 102, 100, 75, 76, 90, 87,
|
229
|
+
248, 80, 81, 8, 91, 210, 123, 246, 247, 86,
|
230
|
+
249, 82, 88, 89, 92, 95, 96, 99, 94, 8,
|
231
|
+
93, 24, 23, 8, 97, 98, 78, 24, 83, 84,
|
232
|
+
85, 147, 79, 147, 77, 149, 101, 102, 100, 75,
|
233
|
+
76, 90, 87, 248, 80, 81, 150, 91, 151, 153,
|
234
|
+
246, 247, 86, 249, 82, 88, 89, 92, 95, 96,
|
235
|
+
99, 94, 154, 93, 155, 156, 8, 97, 98, 78,
|
236
|
+
158, 83, 84, 85, 159, 79, 160, 77, 161, 101,
|
237
|
+
102, 100, 75, 76, 90, 87, 162, 80, 81, 163,
|
238
|
+
91, 167, 71, 70, 68, 86, 168, 82, 88, 89,
|
239
|
+
92, 95, 96, 99, 67, 169, 170, 171, 172, 177,
|
240
|
+
-71, -72, -73, -74, -70, 48, 187, 189, 31, 191,
|
241
|
+
73, 192, 193, 65, 194, 64, 66, 69, 72, 35,
|
242
|
+
36, 37, 38, 39, 40, 41, 42, 44, 198, 201,
|
243
|
+
209, 208, 228, 230, 231, 136, 19, 20, 235, 187,
|
244
|
+
24, 23, 35, 36, 37, 38, 39, 40, 41, 42,
|
245
|
+
44, 16, 18, 254, 21, 24, 23, 120, 122, 123,
|
246
|
+
8, 262, 263, 24, 23, 125, 36, 126, 127, 128,
|
247
|
+
40, 41, 42, 129, 264, 267, 268, nil, 130, 131,
|
248
|
+
132, 133, 120, 122, 123, nil, 24, 23, nil, nil,
|
249
|
+
125, 36, 126, 127, 128, 40, 41, 42, 129, nil,
|
250
|
+
nil, nil, nil, 130, 131, 132, 133, 210, 123, 19,
|
251
|
+
20, 24, 23, nil, 35, 36, 37, 38, 39, 40,
|
252
|
+
41, 42, 44, nil, 16, 18, nil, 21, 24, 23,
|
253
|
+
210, 123, nil, nil, nil, 24, 23, 35, 36, 37,
|
254
|
+
38, 39, 40, 41, 42, 44, nil, nil, nil, nil,
|
255
|
+
nil, nil, 120, 225, nil, nil, nil, nil, 24, 23,
|
256
|
+
220, nil, 221, 222, 223, nil, nil, nil, 219, 120,
|
257
|
+
225, nil, nil, 130, 131, 132, 133, 220, nil, 221,
|
258
|
+
222, 223, nil, nil, nil, 219, 120, 225, nil, nil,
|
259
|
+
130, 131, 132, 133, 220, nil, 221, 222, 223, nil,
|
260
|
+
nil, nil, 219, 120, 122, 123, nil, 130, 131, 132,
|
261
|
+
133, 220, nil, 221, 222, 223, nil, nil, nil, 219,
|
262
|
+
nil, nil, nil, nil, 130, 131, 132, 133, 35, 36,
|
263
|
+
37, 38, 39, 40, 41, 42, 44, 35, 36, 37,
|
264
|
+
38, 39, 40, 41, 42, 44, nil, nil, nil, 24,
|
265
|
+
23, nil, nil, nil, nil, nil, nil, nil, 24, 23,
|
266
|
+
125, 36, 126, 127, 128, 40, 41, 42, 129, nil,
|
267
|
+
nil, nil, nil, 130, 131, 132, 133, nil, nil, nil,
|
268
|
+
nil, 24, 23, 35, 36, 37, 38, 39, 40, 41,
|
269
|
+
42, 44, 35, 36, 37, 38, 39, 40, 41, 42,
|
270
|
+
44, nil, nil, nil, 24, 23, nil, nil, nil, nil,
|
271
|
+
nil, nil, nil, 24, 23, 35, 36, 37, 38, 39,
|
272
|
+
40, 41, 42, 44, 35, 36, 37, 38, 39, 40,
|
273
|
+
41, 42, 44, nil, nil, nil, 24, 23, nil, nil,
|
274
|
+
nil, nil, nil, nil, nil, 24, 23, 35, 36, 37,
|
275
|
+
38, 39, 40, 41, 42, 44, 35, 36, 37, 38,
|
276
|
+
39, 40, 41, 42, 44, nil, nil, nil, 24, 23,
|
277
|
+
nil, nil, nil, nil, nil, nil, nil, 24, 23, 35,
|
278
|
+
36, 37, 38, 39, 40, 41, 42, 44, 35, 36,
|
279
|
+
37, 38, 39, 40, 41, 42, 44, nil, nil, nil,
|
280
|
+
24, 23, nil, nil, nil, nil, nil, nil, nil, 24,
|
281
|
+
23, 35, 36, 37, 38, 39, 40, 41, 42, 44,
|
282
|
+
35, 36, 37, 38, 39, 40, 41, 42, 44, nil,
|
283
|
+
nil, nil, 24, 23, nil, nil, nil, nil, nil, nil,
|
284
|
+
nil, 24, 23, 35, 36, 37, 38, 39, 40, 41,
|
285
|
+
42, 44, 35, 36, 37, 38, 39, 40, 41, 42,
|
286
|
+
44, nil, nil, nil, 24, 23, nil, nil, nil, nil,
|
287
|
+
nil, nil, nil, 24, 23, 35, 36, 37, 38, 39,
|
288
|
+
40, 41, 42, 44, 35, 36, 37, 38, 39, 40,
|
289
|
+
41, 42, 44, nil, nil, nil, 24, 23, nil, nil,
|
290
|
+
nil, nil, nil, nil, nil, 24, 23, 35, 36, 37,
|
291
|
+
38, 39, 40, 41, 42, 44, 35, 36, 37, 38,
|
292
|
+
39, 40, 41, 42, 44, nil, nil, nil, 24, 23,
|
293
|
+
nil, nil, nil, nil, nil, nil, nil, 24, 23, 35,
|
294
|
+
36, 37, 38, 39, 40, 41, 42, 44, 35, 36,
|
295
|
+
37, 38, 39, 40, 41, 42, 44, nil, nil, nil,
|
296
|
+
24, 23, nil, nil, nil, nil, nil, nil, nil, 24,
|
297
|
+
23, 35, 36, 37, 38, 39, 40, 41, 42, 44,
|
298
|
+
35, 36, 37, 38, 39, 40, 41, 42, 44, nil,
|
299
|
+
nil, nil, 24, 23, nil, nil, nil, nil, nil, nil,
|
300
|
+
nil, 24, 23, 35, 36, 37, 38, 39, 40, 41,
|
301
|
+
42, 44, 35, 36, 37, 38, 39, 40, 41, 42,
|
302
|
+
44, nil, nil, nil, 24, 23, nil, nil, nil, nil,
|
303
|
+
nil, nil, nil, 24, 23, 35, 36, 37, 38, 39,
|
304
|
+
40, 41, 42, 44, 35, 36, 37, 38, 39, 40,
|
305
|
+
41, 42, 44, 19, 20, nil, 24, 23, nil, 19,
|
306
|
+
20, nil, nil, nil, nil, 24, 23, nil, 16, 18,
|
307
|
+
nil, 21, 24, 23, 16, 18, nil, 21, 24, 23,
|
308
|
+
19, 20, nil, nil, nil, nil, 19, 20, nil, nil,
|
309
|
+
nil, nil, 19, 20, nil, 16, 18, nil, 21, 24,
|
310
|
+
23, 16, 18, nil, 21, 24, 23, 16, 18, nil,
|
311
|
+
21, 24, 23, 220, nil, 221, 222, 223, nil, nil,
|
312
|
+
nil, 219, nil, nil, nil, nil, 130, 131, 132, 133 ]
|
216
313
|
|
217
314
|
racc_action_check = [
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
168,
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
315
|
+
162, 109, 162, 0, 0, 0, 162, 162, 162, 109,
|
316
|
+
162, 162, 162, 246, 162, 247, 162, 251, 162, 162,
|
317
|
+
162, 162, 162, 162, 162, 188, 162, 162, 252, 162,
|
318
|
+
19, 19, 188, 188, 162, 188, 162, 162, 162, 162,
|
319
|
+
162, 162, 162, 28, 254, 28, 20, 20, 259, 28,
|
320
|
+
28, 28, 260, 28, 28, 28, 28, 28, 261, 28,
|
321
|
+
267, 28, 28, 28, 28, 28, 28, 28, 4, 28,
|
322
|
+
28, 272, 28, 4, 4, 273, 28, 28, 274, 28,
|
323
|
+
28, 28, 28, 28, 28, 28, 161, 283, 161, 189,
|
324
|
+
189, 285, 161, 161, 161, 286, 161, 161, 161, 287,
|
325
|
+
161, 288, 161, 291, 161, 161, 161, 161, 161, 161,
|
326
|
+
161, 190, 161, 161, 292, 161, 180, 180, 190, 190,
|
327
|
+
161, 190, 161, 161, 161, 161, 161, 161, 161, 160,
|
328
|
+
293, 160, 21, 21, 294, 160, 160, 160, 298, 160,
|
329
|
+
160, 160, 160, 160, 299, 160, 304, 160, 160, 160,
|
330
|
+
160, 160, 160, 160, 305, 160, 160, 308, 160, 27,
|
331
|
+
27, 309, 160, 160, 1, 160, 160, 160, 160, 160,
|
332
|
+
160, 160, 271, 2, 271, 135, 135, 5, 271, 271,
|
333
|
+
271, 8, 271, 271, 271, 271, 271, 16, 271, 17,
|
334
|
+
271, 271, 271, 271, 271, 271, 271, 18, 271, 271,
|
335
|
+
23, 271, 248, 248, 24, 271, 271, 30, 271, 271,
|
336
|
+
271, 271, 271, 271, 271, 187, 34, 187, 249, 249,
|
337
|
+
43, 187, 187, 187, 45, 187, 187, 187, 47, 187,
|
338
|
+
48, 187, 57, 187, 187, 187, 187, 187, 187, 187,
|
339
|
+
239, 187, 187, 59, 187, 264, 264, 239, 239, 187,
|
340
|
+
239, 187, 187, 187, 187, 187, 187, 187, 296, 60,
|
341
|
+
296, 69, 69, 61, 296, 296, 296, 63, 296, 296,
|
342
|
+
296, 64, 296, 65, 296, 66, 296, 296, 296, 296,
|
343
|
+
296, 296, 296, 277, 296, 296, 67, 296, 68, 70,
|
344
|
+
277, 277, 296, 277, 296, 296, 296, 296, 296, 296,
|
345
|
+
296, 295, 71, 295, 72, 73, 74, 295, 295, 295,
|
346
|
+
78, 295, 295, 295, 98, 295, 104, 295, 106, 295,
|
347
|
+
295, 295, 295, 295, 295, 295, 107, 295, 295, 108,
|
348
|
+
295, 110, 26, 26, 26, 295, 111, 295, 295, 295,
|
349
|
+
295, 295, 295, 295, 26, 113, 115, 117, 118, 124,
|
350
|
+
125, 126, 127, 128, 129, 138, 141, 142, 7, 143,
|
351
|
+
26, 144, 146, 26, 148, 26, 26, 26, 26, 7,
|
352
|
+
7, 7, 7, 7, 7, 7, 7, 7, 152, 155,
|
353
|
+
165, 163, 175, 178, 179, 182, 10, 10, 185, 186,
|
354
|
+
7, 7, 163, 163, 163, 163, 163, 163, 163, 163,
|
355
|
+
163, 10, 10, 192, 10, 10, 10, 168, 168, 168,
|
356
|
+
194, 211, 212, 163, 163, 168, 168, 168, 168, 168,
|
357
|
+
168, 168, 168, 168, 214, 237, 238, nil, 168, 168,
|
358
|
+
168, 168, 31, 31, 31, nil, 168, 168, nil, nil,
|
359
|
+
31, 31, 31, 31, 31, 31, 31, 31, 31, nil,
|
360
|
+
nil, nil, nil, 31, 31, 31, 31, 263, 263, 14,
|
361
|
+
14, 31, 31, nil, 263, 263, 263, 263, 263, 263,
|
362
|
+
263, 263, 263, nil, 14, 14, nil, 14, 14, 14,
|
363
|
+
166, 166, nil, nil, nil, 263, 263, 166, 166, 166,
|
364
|
+
166, 166, 166, 166, 166, 166, nil, nil, nil, nil,
|
365
|
+
nil, nil, 170, 170, nil, nil, nil, nil, 166, 166,
|
366
|
+
170, nil, 170, 170, 170, nil, nil, nil, 170, 172,
|
367
|
+
172, nil, nil, 170, 170, 170, 170, 172, nil, 172,
|
368
|
+
172, 172, nil, nil, nil, 172, 171, 171, nil, nil,
|
369
|
+
172, 172, 172, 172, 171, nil, 171, 171, 171, nil,
|
370
|
+
nil, nil, 171, 169, 169, 169, nil, 171, 171, 171,
|
371
|
+
171, 169, nil, 169, 169, 169, nil, nil, nil, 169,
|
372
|
+
nil, nil, nil, nil, 169, 169, 169, 169, 120, 120,
|
373
|
+
120, 120, 120, 120, 120, 120, 120, 177, 177, 177,
|
374
|
+
177, 177, 177, 177, 177, 177, nil, nil, nil, 120,
|
375
|
+
120, nil, nil, nil, nil, nil, nil, nil, 177, 177,
|
376
|
+
122, 122, 122, 122, 122, 122, 122, 122, 122, nil,
|
377
|
+
nil, nil, nil, 122, 122, 122, 122, nil, nil, nil,
|
378
|
+
nil, 122, 122, 191, 191, 191, 191, 191, 191, 191,
|
379
|
+
191, 191, 123, 123, 123, 123, 123, 123, 123, 123,
|
380
|
+
123, nil, nil, nil, 191, 191, nil, nil, nil, nil,
|
381
|
+
nil, nil, nil, 123, 123, 193, 193, 193, 193, 193,
|
382
|
+
193, 193, 193, 193, 198, 198, 198, 198, 198, 198,
|
383
|
+
198, 198, 198, nil, nil, nil, 193, 193, nil, nil,
|
384
|
+
nil, nil, nil, nil, nil, 198, 198, 201, 201, 201,
|
385
|
+
201, 201, 201, 201, 201, 201, 208, 208, 208, 208,
|
386
|
+
208, 208, 208, 208, 208, nil, nil, nil, 201, 201,
|
387
|
+
nil, nil, nil, nil, nil, nil, nil, 208, 208, 209,
|
388
|
+
209, 209, 209, 209, 209, 209, 209, 209, 210, 210,
|
389
|
+
210, 210, 210, 210, 210, 210, 210, nil, nil, nil,
|
390
|
+
209, 209, nil, nil, nil, nil, nil, nil, nil, 210,
|
391
|
+
210, 228, 228, 228, 228, 228, 228, 228, 228, 228,
|
392
|
+
231, 231, 231, 231, 231, 231, 231, 231, 231, nil,
|
393
|
+
nil, nil, 228, 228, nil, nil, nil, nil, nil, nil,
|
394
|
+
nil, 231, 231, 134, 134, 134, 134, 134, 134, 134,
|
395
|
+
134, 134, 136, 136, 136, 136, 136, 136, 136, 136,
|
396
|
+
136, nil, nil, nil, 134, 134, nil, nil, nil, nil,
|
397
|
+
nil, nil, nil, 136, 136, 55, 55, 55, 55, 55,
|
398
|
+
55, 55, 55, 55, 56, 56, 56, 56, 56, 56,
|
399
|
+
56, 56, 56, nil, nil, nil, 55, 55, nil, nil,
|
400
|
+
nil, nil, nil, nil, nil, 56, 56, 270, 270, 270,
|
401
|
+
270, 270, 270, 270, 270, 270, 149, 149, 149, 149,
|
402
|
+
149, 149, 149, 149, 149, nil, nil, nil, 270, 270,
|
403
|
+
nil, nil, nil, nil, nil, nil, nil, 149, 149, 150,
|
404
|
+
150, 150, 150, 150, 150, 150, 150, 150, 275, 275,
|
405
|
+
275, 275, 275, 275, 275, 275, 275, nil, nil, nil,
|
406
|
+
150, 150, nil, nil, nil, nil, nil, nil, nil, 275,
|
407
|
+
275, 151, 151, 151, 151, 151, 151, 151, 151, 151,
|
408
|
+
153, 153, 153, 153, 153, 153, 153, 153, 153, nil,
|
409
|
+
nil, nil, 151, 151, nil, nil, nil, nil, nil, nil,
|
410
|
+
nil, 153, 153, 154, 154, 154, 154, 154, 154, 154,
|
411
|
+
154, 154, 289, 289, 289, 289, 289, 289, 289, 289,
|
412
|
+
289, nil, nil, nil, 154, 154, nil, nil, nil, nil,
|
413
|
+
nil, nil, nil, 289, 289, 290, 290, 290, 290, 290,
|
414
|
+
290, 290, 290, 290, 156, 156, 156, 156, 156, 156,
|
415
|
+
156, 156, 156, 11, 11, nil, 290, 290, nil, 3,
|
416
|
+
3, nil, nil, nil, nil, 156, 156, nil, 11, 11,
|
417
|
+
nil, 11, 11, 11, 3, 3, nil, 3, 3, 3,
|
418
|
+
15, 15, nil, nil, nil, nil, 12, 12, nil, nil,
|
419
|
+
nil, nil, 13, 13, nil, 15, 15, nil, 15, 15,
|
420
|
+
15, 12, 12, nil, 12, 12, 12, 13, 13, nil,
|
421
|
+
13, 13, 13, 225, nil, 225, 225, 225, nil, nil,
|
422
|
+
nil, 225, nil, nil, nil, nil, 225, 225, 225, 225 ]
|
277
423
|
|
278
424
|
racc_action_pointer = [
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
nil, nil,
|
284
|
-
|
425
|
+
1, 164, 158, 990, 16, 177, nil, 352, 163, nil,
|
426
|
+
367, 984, 1017, 1023, 440, 1011, 175, 177, 172, -8,
|
427
|
+
8, 94, nil, 162, 165, nil, 312, 121, 34, nil,
|
428
|
+
194, 423, nil, nil, 201, nil, nil, nil, nil, nil,
|
429
|
+
nil, nil, nil, 194, nil, 195, nil, 212, 222, nil,
|
430
|
+
nil, nil, nil, nil, nil, 808, 817, 217, nil, 228,
|
431
|
+
244, 248, nil, 229, 241, 243, 263, 274, 276, 223,
|
432
|
+
277, 290, 264, 293, 291, nil, nil, nil, 300, nil,
|
285
433
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
286
|
-
nil, nil, nil, nil,
|
287
|
-
nil,
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
nil,
|
298
|
-
|
299
|
-
nil, nil, nil,
|
300
|
-
nil, nil, nil, nil, nil,
|
301
|
-
|
302
|
-
nil,
|
303
|
-
|
304
|
-
|
434
|
+
nil, nil, nil, nil, nil, nil, nil, nil, 298, nil,
|
435
|
+
nil, nil, nil, nil, 308, nil, 292, 300, 324, -5,
|
436
|
+
324, 328, nil, 337, nil, 338, nil, 339, 340, nil,
|
437
|
+
561, nil, 593, 625, 337, 338, 339, 340, 341, 342,
|
438
|
+
nil, nil, nil, nil, 776, 156, 785, nil, 337, nil,
|
439
|
+
nil, 315, 313, 347, 355, nil, 350, nil, 352, 849,
|
440
|
+
872, 904, 366, 913, 936, 367, 977, nil, nil, nil,
|
441
|
+
120, 77, -9, 375, nil, 375, 470, nil, 398, 544,
|
442
|
+
493, 527, 510, nil, nil, 370, nil, 570, 367, 376,
|
443
|
+
89, nil, 356, nil, nil, 352, 348, 206, -8, 51,
|
444
|
+
78, 616, 365, 648, 395, nil, nil, nil, 657, nil,
|
445
|
+
nil, 680, nil, nil, nil, nil, nil, nil, 689, 712,
|
446
|
+
721, 404, 404, nil, 416, nil, nil, nil, nil, nil,
|
447
|
+
nil, nil, nil, nil, nil, 1046, nil, nil, 744, nil,
|
448
|
+
nil, 753, nil, nil, nil, nil, nil, 413, 390, 207,
|
449
|
+
nil, nil, nil, nil, nil, nil, 1, 9, 164, 180,
|
450
|
+
nil, 2, -8, nil, 37, nil, nil, nil, nil, 41,
|
451
|
+
23, 44, nil, 447, 235, nil, nil, 45, nil, nil,
|
452
|
+
840, 163, 44, 60, 63, 881, nil, 250, nil, nil,
|
453
|
+
nil, nil, nil, 58, nil, 79, 69, 73, 94, 945,
|
454
|
+
968, 87, 78, 115, 119, 292, 249, nil, 122, 128,
|
455
|
+
nil, nil, nil, nil, 134, 142, nil, nil, 142, 146,
|
456
|
+
nil, nil ]
|
305
457
|
|
306
458
|
racc_action_default = [
|
307
|
-
-
|
308
|
-
-
|
309
|
-
-
|
310
|
-
-
|
311
|
-
-
|
312
|
-
|
313
|
-
-
|
314
|
-
-
|
315
|
-
|
316
|
-
-
|
317
|
-
|
318
|
-
-
|
319
|
-
-
|
320
|
-
|
321
|
-
-
|
322
|
-
|
323
|
-
-
|
324
|
-
|
325
|
-
-
|
326
|
-
-
|
327
|
-
|
328
|
-
-
|
329
|
-
-
|
330
|
-
-
|
331
|
-
|
332
|
-
-
|
459
|
+
-176, -176, -119, -77, -176, -176, -1, -7, -176, -2,
|
460
|
+
-77, -77, -77, -77, -77, -77, -176, -176, -176, -176,
|
461
|
+
-176, -176, -93, -176, -95, -3, -176, -176, -176, 312,
|
462
|
+
-31, -24, -9, -44, -56, -46, -47, -48, -49, -50,
|
463
|
+
-51, -52, -53, -54, -55, -62, -63, -176, -121, -78,
|
464
|
+
-79, -80, -81, -82, -83, -176, -176, -119, -92, -119,
|
465
|
+
-119, -119, -94, -176, -176, -176, -176, -176, -176, -176,
|
466
|
+
-176, -176, -176, -176, -119, -128, -129, -130, -131, -132,
|
467
|
+
-133, -134, -135, -136, -137, -138, -139, -140, -141, -142,
|
468
|
+
-143, -144, -145, -146, -147, -148, -149, -150, -151, -152,
|
469
|
+
-153, -154, -155, -168, -171, -172, -176, -176, -176, -34,
|
470
|
+
-176, -10, -12, -13, -15, -16, -18, -19, -20, -23,
|
471
|
+
-176, -26, -176, -176, -176, -46, -48, -49, -50, -55,
|
472
|
+
-68, -69, -75, -76, -176, -176, -176, -120, -176, -84,
|
473
|
+
-85, -123, -115, -90, -176, -96, -176, -175, -176, -176,
|
474
|
+
-176, -176, -176, -176, -176, -176, -176, -167, -156, -157,
|
475
|
+
-176, -176, -176, -176, -32, -176, -42, -8, -24, -24,
|
476
|
+
-24, -24, -24, -25, -27, -176, -28, -176, -176, -64,
|
477
|
+
-59, -58, -66, -67, -122, -176, -123, -176, -97, -176,
|
478
|
+
-97, -176, -176, -176, -119, -160, -161, -162, -176, -164,
|
479
|
+
-165, -176, -169, -170, -173, -174, -4, -5, -176, -176,
|
480
|
+
-176, -176, -36, -38, -39, -41, -43, -11, -14, -70,
|
481
|
+
-71, -72, -73, -74, -17, -176, -21, -22, -176, -29,
|
482
|
+
-45, -176, -57, -60, -61, -86, -124, -176, -176, -97,
|
483
|
+
-99, -100, -101, -102, -103, -104, -176, -113, -176, -176,
|
484
|
+
-116, -117, -176, -91, -176, -158, -159, -163, -166, -176,
|
485
|
+
-176, -176, -35, -42, -42, -30, -65, -119, -87, -98,
|
486
|
+
-176, -176, -176, -109, -111, -176, -88, -97, -6, -33,
|
487
|
+
-37, -40, -125, -126, -105, -176, -176, -176, -176, -176,
|
488
|
+
-176, -176, -176, -119, -119, -176, -176, -114, -176, -176,
|
489
|
+
-118, -89, -127, -106, -176, -176, -110, -112, -119, -119,
|
490
|
+
-107, -108 ]
|
333
491
|
|
334
492
|
racc_goto_table = [
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
nil, nil,
|
344
|
-
nil, nil, nil, nil, nil, nil, 142, 142, 175, 175,
|
345
|
-
173, 173, 234, 154, 138, 146, 171, 222, nil, nil,
|
346
|
-
176, 157, 158, 159, nil, nil, 162, 163, nil, nil,
|
347
|
-
nil, nil, nil, nil, nil, nil, nil, nil, 195, nil,
|
348
|
-
nil, nil, nil, nil, 189, nil, nil, nil, nil, nil,
|
349
|
-
nil, nil, nil, nil, nil, 206, nil, 208, nil, 210,
|
350
|
-
nil, nil, nil, nil, 212, 213, 211, nil, 214, nil,
|
351
|
-
nil, nil, 217, 137, nil, nil, nil, nil, nil, nil,
|
493
|
+
32, 17, 110, 6, 103, 47, 175, 178, 17, 17,
|
494
|
+
17, 17, 17, 17, 214, 182, 183, 59, 60, 61,
|
495
|
+
204, 205, 216, 185, 121, 74, 212, 211, 238, 282,
|
496
|
+
252, 165, 62, 141, 25, 142, 143, 144, 224, 226,
|
497
|
+
227, 30, 207, 146, 148, 108, 237, 206, 139, 140,
|
498
|
+
157, 9, 218, 1, 281, 302, 303, 232, 49, 50,
|
499
|
+
51, 52, 53, 54, 57, 188, 190, 152, 236, 271,
|
500
|
+
310, 311, 145, 250, nil, nil, nil, nil, nil, 269,
|
501
|
+
nil, nil, nil, nil, nil, nil, nil, 260, 259, nil,
|
352
502
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
353
|
-
nil, nil,
|
354
|
-
nil,
|
355
|
-
|
503
|
+
nil, nil, nil, nil, 266, nil, nil, nil, nil, 175,
|
504
|
+
nil, 214, 214, 173, nil, 174, 176, 292, nil, 216,
|
505
|
+
216, nil, nil, 212, 280, nil, nil, nil, nil, nil,
|
506
|
+
285, nil, nil, nil, nil, 184, 203, nil, nil, 217,
|
507
|
+
nil, nil, 195, 196, 197, nil, 199, 200, 291, 202,
|
508
|
+
nil, nil, nil, nil, 304, 305, nil, nil, nil, 121,
|
509
|
+
nil, 121, 298, 299, nil, nil, nil, nil, nil, nil,
|
510
|
+
229, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
511
|
+
nil, nil, nil, nil, 253, nil, 255, 251, nil, nil,
|
512
|
+
nil, 257, nil, nil, 258, 256, nil, nil, nil, nil,
|
513
|
+
nil, nil, 261, 174, nil, nil, nil, nil, nil, nil,
|
356
514
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
357
|
-
nil, nil, nil, nil,
|
515
|
+
nil, 265, nil, nil, nil, nil, nil, nil, nil, nil,
|
516
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
517
|
+
nil, nil, nil, nil, nil, nil, 273, 274, nil, nil,
|
518
|
+
nil, nil, nil, nil, nil, nil, 121, nil, nil, nil,
|
519
|
+
nil, nil, nil, 284 ]
|
358
520
|
|
359
521
|
racc_goto_check = [
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
nil, nil,
|
369
|
-
nil, nil, nil, nil, nil, nil,
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
nil, nil, nil, nil,
|
374
|
-
nil, nil,
|
375
|
-
nil, nil, nil, nil,
|
522
|
+
12, 30, 11, 2, 58, 55, 22, 29, 30, 30,
|
523
|
+
30, 30, 30, 30, 15, 9, 10, 30, 30, 30,
|
524
|
+
52, 52, 17, 39, 12, 30, 13, 24, 41, 53,
|
525
|
+
41, 23, 43, 5, 4, 5, 5, 5, 18, 18,
|
526
|
+
18, 6, 9, 57, 57, 7, 52, 8, 12, 12,
|
527
|
+
5, 3, 14, 1, 25, 53, 53, 31, 3, 3,
|
528
|
+
3, 3, 3, 3, 38, 40, 42, 30, 39, 51,
|
529
|
+
53, 53, 43, 54, nil, nil, nil, nil, nil, 41,
|
530
|
+
nil, nil, nil, nil, nil, nil, nil, 9, 10, nil,
|
531
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
532
|
+
nil, nil, nil, nil, 29, nil, nil, nil, nil, 22,
|
533
|
+
nil, 15, 15, 12, nil, 12, 12, 41, nil, 17,
|
534
|
+
17, nil, nil, 13, 24, nil, nil, nil, nil, nil,
|
535
|
+
52, nil, nil, nil, nil, 55, 58, nil, nil, 11,
|
536
|
+
nil, nil, 12, 12, 12, nil, 12, 12, 29, 12,
|
537
|
+
nil, nil, nil, nil, 52, 52, nil, nil, nil, 12,
|
538
|
+
nil, 12, 29, 29, nil, nil, nil, nil, nil, nil,
|
539
|
+
12, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
540
|
+
nil, nil, nil, nil, 12, nil, 12, 30, nil, nil,
|
541
|
+
nil, 12, nil, nil, 12, 2, nil, nil, nil, nil,
|
376
542
|
nil, nil, 12, 12, nil, nil, nil, nil, nil, nil,
|
377
543
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
378
|
-
nil,
|
379
|
-
nil, nil, nil, nil, nil, nil, nil, nil, 12, 12,
|
380
|
-
nil, nil, nil, nil, nil, 46, nil, nil, nil, nil,
|
544
|
+
nil, 12, nil, nil, nil, nil, nil, nil, nil, nil,
|
381
545
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
382
|
-
nil, nil, nil, nil,
|
546
|
+
nil, nil, nil, nil, nil, nil, 30, 30, nil, nil,
|
547
|
+
nil, nil, nil, nil, nil, nil, 12, nil, nil, nil,
|
548
|
+
nil, nil, nil, 12 ]
|
383
549
|
|
384
550
|
racc_goto_pointer = [
|
385
|
-
nil,
|
386
|
-
|
387
|
-
nil, nil,
|
388
|
-
nil, nil, nil,
|
389
|
-
|
390
|
-
-
|
551
|
+
nil, 53, 1, 48, 30, -24, 34, 15, -116, -121,
|
552
|
+
-120, -29, -7, -140, -117, -152, nil, -144, -132, nil,
|
553
|
+
nil, nil, -116, -78, -139, -210, nil, nil, nil, -127,
|
554
|
+
-2, -123, nil, nil, nil, nil, nil, nil, 46, -118,
|
555
|
+
-77, -160, -77, 9, nil, nil, nil, nil, nil, nil,
|
556
|
+
nil, -178, -141, -238, -116, -3, nil, -21, -24, nil ]
|
391
557
|
|
392
558
|
racc_goto_default = [
|
393
|
-
nil, nil,
|
394
|
-
|
395
|
-
|
396
|
-
11, 12, 13,
|
397
|
-
|
398
|
-
nil ]
|
559
|
+
nil, nil, 283, nil, nil, 7, nil, nil, nil, 45,
|
560
|
+
46, nil, 179, 111, 112, 113, 114, 115, 116, 117,
|
561
|
+
118, 119, 124, nil, nil, 213, 215, 33, 34, nil,
|
562
|
+
43, nil, 10, 11, 12, 13, 14, 15, nil, nil,
|
563
|
+
nil, nil, nil, 22, 239, 240, 241, 242, 243, 244,
|
564
|
+
245, nil, 105, nil, nil, nil, 186, nil, nil, 104 ]
|
399
565
|
|
400
566
|
racc_reduce_table = [
|
401
567
|
0, 0, :racc_error,
|
402
|
-
2,
|
403
|
-
2,
|
404
|
-
2,
|
405
|
-
5,
|
406
|
-
1,
|
407
|
-
3,
|
408
|
-
0,
|
409
|
-
3,
|
410
|
-
1,
|
411
|
-
1,
|
412
|
-
3,
|
413
|
-
1,
|
414
|
-
1,
|
415
|
-
3,
|
416
|
-
1,
|
417
|
-
1,
|
418
|
-
3,
|
419
|
-
1,
|
420
|
-
1,
|
421
|
-
1,
|
422
|
-
3,
|
423
|
-
3,
|
424
|
-
1,
|
425
|
-
0,
|
426
|
-
2,
|
427
|
-
1,
|
428
|
-
2,
|
429
|
-
2,
|
430
|
-
3,
|
431
|
-
4,
|
432
|
-
0,
|
433
|
-
2,
|
434
|
-
5,
|
435
|
-
|
436
|
-
|
437
|
-
1,
|
438
|
-
3,
|
439
|
-
1,
|
440
|
-
1,
|
441
|
-
3,
|
442
|
-
1,
|
443
|
-
0,
|
444
|
-
1,
|
445
|
-
1,
|
446
|
-
4,
|
447
|
-
1,
|
448
|
-
|
449
|
-
|
450
|
-
1,
|
451
|
-
1,
|
452
|
-
1,
|
453
|
-
1,
|
454
|
-
1,
|
455
|
-
|
568
|
+
2, 60, :_reduce_1,
|
569
|
+
2, 60, :_reduce_2,
|
570
|
+
2, 60, :_reduce_3,
|
571
|
+
5, 61, :_reduce_4,
|
572
|
+
1, 67, :_reduce_none,
|
573
|
+
3, 67, :_reduce_6,
|
574
|
+
0, 65, :_reduce_7,
|
575
|
+
3, 65, :_reduce_8,
|
576
|
+
1, 65, :_reduce_9,
|
577
|
+
1, 70, :_reduce_10,
|
578
|
+
3, 70, :_reduce_11,
|
579
|
+
1, 70, :_reduce_12,
|
580
|
+
1, 73, :_reduce_13,
|
581
|
+
3, 73, :_reduce_14,
|
582
|
+
1, 73, :_reduce_15,
|
583
|
+
1, 75, :_reduce_16,
|
584
|
+
3, 75, :_reduce_17,
|
585
|
+
1, 75, :_reduce_18,
|
586
|
+
1, 77, :_reduce_19,
|
587
|
+
1, 77, :_reduce_20,
|
588
|
+
3, 77, :_reduce_21,
|
589
|
+
3, 77, :_reduce_22,
|
590
|
+
1, 77, :_reduce_23,
|
591
|
+
0, 80, :_reduce_24,
|
592
|
+
2, 80, :_reduce_25,
|
593
|
+
1, 72, :_reduce_26,
|
594
|
+
2, 74, :_reduce_27,
|
595
|
+
2, 76, :_reduce_28,
|
596
|
+
3, 78, :_reduce_29,
|
597
|
+
4, 79, :_reduce_30,
|
598
|
+
0, 66, :_reduce_31,
|
599
|
+
2, 66, :_reduce_32,
|
600
|
+
5, 66, :_reduce_33,
|
601
|
+
0, 82, :_reduce_34,
|
602
|
+
3, 82, :_reduce_35,
|
603
|
+
1, 83, :_reduce_36,
|
604
|
+
3, 83, :_reduce_37,
|
605
|
+
1, 83, :_reduce_38,
|
606
|
+
1, 84, :_reduce_39,
|
607
|
+
3, 84, :_reduce_40,
|
608
|
+
1, 84, :_reduce_41,
|
609
|
+
0, 85, :_reduce_42,
|
610
|
+
1, 85, :_reduce_43,
|
611
|
+
1, 68, :_reduce_44,
|
612
|
+
4, 68, :_reduce_45,
|
613
|
+
1, 68, :_reduce_46,
|
614
|
+
1, 68, :_reduce_47,
|
615
|
+
1, 68, :_reduce_48,
|
616
|
+
1, 68, :_reduce_49,
|
617
|
+
1, 68, :_reduce_50,
|
618
|
+
1, 68, :_reduce_51,
|
619
|
+
1, 68, :_reduce_52,
|
620
|
+
1, 68, :_reduce_53,
|
621
|
+
1, 87, :_reduce_54,
|
622
|
+
1, 87, :_reduce_55,
|
623
|
+
1, 86, :_reduce_none,
|
624
|
+
4, 86, :_reduce_57,
|
625
|
+
3, 86, :_reduce_58,
|
626
|
+
0, 90, :_reduce_59,
|
627
|
+
1, 90, :_reduce_none,
|
628
|
+
1, 90, :_reduce_none,
|
629
|
+
1, 71, :_reduce_none,
|
630
|
+
1, 71, :_reduce_63,
|
631
|
+
1, 88, :_reduce_64,
|
632
|
+
3, 88, :_reduce_65,
|
633
|
+
3, 69, :_reduce_66,
|
634
|
+
3, 69, :_reduce_67,
|
456
635
|
1, 81, :_reduce_none,
|
457
636
|
1, 81, :_reduce_none,
|
458
|
-
1,
|
459
|
-
1,
|
460
|
-
1,
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
1,
|
465
|
-
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
|
470
|
-
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
1,
|
489
|
-
1,
|
490
|
-
1,
|
491
|
-
1,
|
492
|
-
1,
|
493
|
-
|
494
|
-
|
495
|
-
7,
|
496
|
-
|
497
|
-
2,
|
498
|
-
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
|
503
|
-
|
504
|
-
|
505
|
-
|
506
|
-
|
507
|
-
|
508
|
-
|
509
|
-
1,
|
510
|
-
3,
|
511
|
-
|
512
|
-
|
513
|
-
|
514
|
-
1,
|
515
|
-
|
516
|
-
1,
|
517
|
-
1,
|
518
|
-
1,
|
519
|
-
1,
|
520
|
-
1,
|
521
|
-
1,
|
522
|
-
1,
|
523
|
-
1,
|
524
|
-
1,
|
525
|
-
1,
|
526
|
-
1,
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
|
538
|
-
1,
|
539
|
-
|
540
|
-
|
541
|
-
1,
|
542
|
-
|
543
|
-
|
544
|
-
|
545
|
-
|
637
|
+
1, 81, :_reduce_none,
|
638
|
+
1, 81, :_reduce_none,
|
639
|
+
1, 81, :_reduce_none,
|
640
|
+
1, 81, :_reduce_none,
|
641
|
+
1, 81, :_reduce_none,
|
642
|
+
1, 81, :_reduce_none,
|
643
|
+
1, 81, :_reduce_none,
|
644
|
+
0, 62, :_reduce_77,
|
645
|
+
2, 62, :_reduce_78,
|
646
|
+
2, 62, :_reduce_79,
|
647
|
+
2, 62, :_reduce_80,
|
648
|
+
2, 62, :_reduce_81,
|
649
|
+
2, 62, :_reduce_82,
|
650
|
+
2, 62, :_reduce_83,
|
651
|
+
3, 96, :_reduce_84,
|
652
|
+
3, 95, :_reduce_85,
|
653
|
+
5, 91, :_reduce_86,
|
654
|
+
6, 92, :_reduce_87,
|
655
|
+
6, 93, :_reduce_88,
|
656
|
+
8, 94, :_reduce_89,
|
657
|
+
0, 101, :_reduce_90,
|
658
|
+
2, 101, :_reduce_91,
|
659
|
+
1, 97, :_reduce_none,
|
660
|
+
1, 89, :_reduce_none,
|
661
|
+
2, 89, :_reduce_94,
|
662
|
+
1, 102, :_reduce_95,
|
663
|
+
3, 102, :_reduce_96,
|
664
|
+
0, 100, :_reduce_97,
|
665
|
+
2, 100, :_reduce_98,
|
666
|
+
1, 103, :_reduce_none,
|
667
|
+
1, 103, :_reduce_none,
|
668
|
+
1, 103, :_reduce_none,
|
669
|
+
1, 103, :_reduce_none,
|
670
|
+
1, 103, :_reduce_none,
|
671
|
+
1, 103, :_reduce_none,
|
672
|
+
3, 109, :_reduce_105,
|
673
|
+
5, 104, :_reduce_106,
|
674
|
+
7, 105, :_reduce_107,
|
675
|
+
7, 106, :_reduce_108,
|
676
|
+
2, 107, :_reduce_109,
|
677
|
+
5, 107, :_reduce_110,
|
678
|
+
2, 108, :_reduce_111,
|
679
|
+
5, 108, :_reduce_112,
|
680
|
+
0, 110, :_reduce_113,
|
681
|
+
3, 110, :_reduce_114,
|
682
|
+
0, 99, :_reduce_115,
|
683
|
+
2, 99, :_reduce_116,
|
684
|
+
1, 113, :_reduce_117,
|
685
|
+
4, 113, :_reduce_118,
|
686
|
+
0, 64, :_reduce_119,
|
687
|
+
3, 64, :_reduce_120,
|
688
|
+
1, 114, :_reduce_121,
|
689
|
+
3, 114, :_reduce_122,
|
690
|
+
0, 98, :_reduce_123,
|
691
|
+
2, 98, :_reduce_124,
|
692
|
+
4, 115, :_reduce_125,
|
693
|
+
1, 112, :_reduce_126,
|
694
|
+
3, 112, :_reduce_127,
|
695
|
+
1, 111, :_reduce_none,
|
696
|
+
1, 111, :_reduce_none,
|
697
|
+
1, 111, :_reduce_none,
|
698
|
+
1, 111, :_reduce_none,
|
699
|
+
1, 111, :_reduce_none,
|
700
|
+
1, 111, :_reduce_none,
|
701
|
+
1, 111, :_reduce_none,
|
702
|
+
1, 111, :_reduce_none,
|
703
|
+
1, 111, :_reduce_none,
|
704
|
+
1, 111, :_reduce_none,
|
705
|
+
1, 111, :_reduce_none,
|
706
|
+
1, 111, :_reduce_none,
|
707
|
+
1, 111, :_reduce_none,
|
708
|
+
1, 111, :_reduce_none,
|
709
|
+
1, 111, :_reduce_none,
|
710
|
+
1, 111, :_reduce_none,
|
711
|
+
1, 111, :_reduce_none,
|
712
|
+
1, 111, :_reduce_none,
|
713
|
+
1, 111, :_reduce_none,
|
714
|
+
1, 111, :_reduce_none,
|
715
|
+
1, 111, :_reduce_none,
|
716
|
+
1, 111, :_reduce_none,
|
717
|
+
1, 111, :_reduce_none,
|
718
|
+
1, 111, :_reduce_none,
|
719
|
+
1, 111, :_reduce_none,
|
720
|
+
1, 111, :_reduce_153,
|
721
|
+
1, 111, :_reduce_154,
|
722
|
+
1, 111, :_reduce_155,
|
723
|
+
2, 111, :_reduce_156,
|
724
|
+
2, 111, :_reduce_157,
|
725
|
+
5, 63, :_reduce_158,
|
726
|
+
5, 63, :_reduce_159,
|
727
|
+
4, 63, :_reduce_160,
|
728
|
+
4, 63, :_reduce_161,
|
729
|
+
4, 63, :_reduce_162,
|
730
|
+
5, 63, :_reduce_163,
|
731
|
+
4, 63, :_reduce_164,
|
732
|
+
4, 63, :_reduce_165,
|
733
|
+
5, 63, :_reduce_166,
|
734
|
+
3, 63, :_reduce_167,
|
735
|
+
2, 63, :_reduce_168,
|
736
|
+
4, 63, :_reduce_169,
|
737
|
+
3, 117, :_reduce_170,
|
738
|
+
1, 117, :_reduce_171,
|
739
|
+
1, 118, :_reduce_172,
|
740
|
+
3, 118, :_reduce_173,
|
741
|
+
3, 118, :_reduce_174,
|
742
|
+
1, 116, :_reduce_175 ]
|
743
|
+
|
744
|
+
racc_reduce_n = 176
|
745
|
+
|
746
|
+
racc_shift_n = 312
|
546
747
|
|
547
748
|
racc_token_table = {
|
548
749
|
false => 0,
|
@@ -560,46 +761,52 @@ racc_token_table = {
|
|
560
761
|
:COLON => 12,
|
561
762
|
:LBRACE => 13,
|
562
763
|
:RBRACE => 14,
|
563
|
-
:
|
564
|
-
:
|
565
|
-
:
|
566
|
-
:
|
567
|
-
:
|
568
|
-
:
|
569
|
-
:
|
570
|
-
:
|
571
|
-
:
|
572
|
-
:
|
573
|
-
:
|
574
|
-
:
|
575
|
-
:
|
576
|
-
:
|
577
|
-
:
|
578
|
-
:
|
579
|
-
:
|
580
|
-
:
|
581
|
-
:
|
582
|
-
:
|
583
|
-
:
|
584
|
-
:
|
585
|
-
:
|
586
|
-
:
|
587
|
-
:
|
588
|
-
:
|
589
|
-
:
|
590
|
-
:
|
591
|
-
:
|
592
|
-
:
|
593
|
-
:
|
594
|
-
:
|
595
|
-
:
|
596
|
-
:
|
597
|
-
:
|
598
|
-
:
|
599
|
-
:
|
600
|
-
:
|
601
|
-
|
602
|
-
|
764
|
+
:LT => 15,
|
765
|
+
:GT => 16,
|
766
|
+
:ANY => 17,
|
767
|
+
:TVAR => 18,
|
768
|
+
:CLASS => 19,
|
769
|
+
:MODULE => 20,
|
770
|
+
:INSTANCE => 21,
|
771
|
+
:SELF => 22,
|
772
|
+
:VOID => 23,
|
773
|
+
:NIL => 24,
|
774
|
+
:INTERFACE_NAME => 25,
|
775
|
+
:DOT => 26,
|
776
|
+
:CONSTRUCTOR => 27,
|
777
|
+
:NOCONSTRUCTOR => 28,
|
778
|
+
:BAR => 29,
|
779
|
+
:IDENT => 30,
|
780
|
+
:MODULE_NAME => 31,
|
781
|
+
:BLOCK => 32,
|
782
|
+
:INCLUDE => 33,
|
783
|
+
:GVAR => 34,
|
784
|
+
:INTERFACE => 35,
|
785
|
+
:END => 36,
|
786
|
+
:EXTENSION => 37,
|
787
|
+
:UIDENT => 38,
|
788
|
+
:COLON2 => 39,
|
789
|
+
:IVAR_NAME => 40,
|
790
|
+
:DEF => 41,
|
791
|
+
:SELFQ => 42,
|
792
|
+
:EXTEND => 43,
|
793
|
+
:LTCOLON => 44,
|
794
|
+
:PLUS => 45,
|
795
|
+
:OPERATOR => 46,
|
796
|
+
:METHOD_NAME => 47,
|
797
|
+
:BREAK => 48,
|
798
|
+
:PERCENT => 49,
|
799
|
+
:MINUS => 50,
|
800
|
+
:METHOD => 51,
|
801
|
+
:AT_TYPE => 52,
|
802
|
+
:VAR => 53,
|
803
|
+
:RETURN => 54,
|
804
|
+
:CONST => 55,
|
805
|
+
:IVAR => 56,
|
806
|
+
:AT_IMPLEMENTS => 57,
|
807
|
+
:AT_DYNAMIC => 58 }
|
808
|
+
|
809
|
+
racc_nt_base = 59
|
603
810
|
|
604
811
|
racc_use_result_var = true
|
605
812
|
|
@@ -635,42 +842,48 @@ Racc_token_to_s_table = [
|
|
635
842
|
"COLON",
|
636
843
|
"LBRACE",
|
637
844
|
"RBRACE",
|
638
|
-
"INTERFACE_NAME",
|
639
845
|
"LT",
|
640
846
|
"GT",
|
641
|
-
"MODULE_NAME",
|
642
|
-
"CLASS_IDENT",
|
643
847
|
"ANY",
|
644
848
|
"TVAR",
|
645
849
|
"CLASS",
|
646
850
|
"MODULE",
|
647
851
|
"INSTANCE",
|
852
|
+
"SELF",
|
853
|
+
"VOID",
|
854
|
+
"NIL",
|
855
|
+
"INTERFACE_NAME",
|
856
|
+
"DOT",
|
648
857
|
"CONSTRUCTOR",
|
649
858
|
"NOCONSTRUCTOR",
|
650
859
|
"BAR",
|
651
860
|
"IDENT",
|
861
|
+
"MODULE_NAME",
|
652
862
|
"BLOCK",
|
653
863
|
"INCLUDE",
|
864
|
+
"GVAR",
|
654
865
|
"INTERFACE",
|
655
866
|
"END",
|
656
867
|
"EXTENSION",
|
868
|
+
"UIDENT",
|
869
|
+
"COLON2",
|
870
|
+
"IVAR_NAME",
|
657
871
|
"DEF",
|
658
|
-
"SELF",
|
659
|
-
"DOT",
|
660
872
|
"SELFQ",
|
661
873
|
"EXTEND",
|
662
874
|
"LTCOLON",
|
663
875
|
"PLUS",
|
664
876
|
"OPERATOR",
|
665
877
|
"METHOD_NAME",
|
878
|
+
"BREAK",
|
879
|
+
"PERCENT",
|
880
|
+
"MINUS",
|
881
|
+
"METHOD",
|
666
882
|
"AT_TYPE",
|
667
883
|
"VAR",
|
668
|
-
"METHOD",
|
669
884
|
"RETURN",
|
670
885
|
"CONST",
|
671
|
-
"CONST_PATH",
|
672
886
|
"IVAR",
|
673
|
-
"IVAR_NAME",
|
674
887
|
"AT_IMPLEMENTS",
|
675
888
|
"AT_DYNAMIC",
|
676
889
|
"$start",
|
@@ -700,30 +913,39 @@ Racc_token_to_s_table = [
|
|
700
913
|
"block_params0",
|
701
914
|
"block_params1",
|
702
915
|
"block_params2",
|
916
|
+
"type_name",
|
917
|
+
"instance_type_name",
|
703
918
|
"type_seq",
|
919
|
+
"module_name",
|
704
920
|
"constructor",
|
705
921
|
"interface",
|
706
922
|
"class_decl",
|
707
923
|
"module_decl",
|
708
924
|
"extension_decl",
|
925
|
+
"const_decl",
|
926
|
+
"gvar_decl",
|
709
927
|
"interface_name",
|
710
|
-
"
|
711
|
-
"class_name",
|
928
|
+
"interface_members",
|
712
929
|
"super_opt",
|
713
930
|
"class_members",
|
714
931
|
"self_type_opt",
|
932
|
+
"module_name0",
|
715
933
|
"class_member",
|
716
934
|
"instance_method_member",
|
717
|
-
"
|
718
|
-
"
|
935
|
+
"module_method_member",
|
936
|
+
"module_instance_method_member",
|
719
937
|
"include_member",
|
720
938
|
"extend_member",
|
939
|
+
"ivar_member",
|
721
940
|
"constructor_method",
|
722
941
|
"method_name",
|
723
942
|
"method_type_union",
|
943
|
+
"super_class",
|
724
944
|
"type_param_seq",
|
725
|
-
"
|
726
|
-
"subject"
|
945
|
+
"interface_method",
|
946
|
+
"subject",
|
947
|
+
"dynamic_names",
|
948
|
+
"dynamic_name" ]
|
727
949
|
|
728
950
|
Racc_debug_parser = false
|
729
951
|
|
@@ -731,922 +953,1200 @@ Racc_debug_parser = false
|
|
731
953
|
|
732
954
|
# reduce 0 omitted
|
733
955
|
|
734
|
-
module_eval(<<'.,.,', 'parser.y',
|
956
|
+
module_eval(<<'.,.,', 'parser.y', 6)
|
735
957
|
def _reduce_1(val, _values, result)
|
736
958
|
result = val[1]
|
737
959
|
result
|
738
960
|
end
|
739
961
|
.,.,
|
740
962
|
|
741
|
-
module_eval(<<'.,.,', 'parser.y',
|
963
|
+
module_eval(<<'.,.,', 'parser.y', 7)
|
742
964
|
def _reduce_2(val, _values, result)
|
743
965
|
result = val[1]
|
744
966
|
result
|
745
967
|
end
|
746
968
|
.,.,
|
747
969
|
|
748
|
-
module_eval(<<'.,.,', 'parser.y',
|
970
|
+
module_eval(<<'.,.,', 'parser.y', 8)
|
749
971
|
def _reduce_3(val, _values, result)
|
750
972
|
result = val[1]
|
751
973
|
result
|
752
974
|
end
|
753
975
|
.,.,
|
754
976
|
|
755
|
-
module_eval(<<'.,.,', 'parser.y',
|
977
|
+
module_eval(<<'.,.,', 'parser.y', 12)
|
756
978
|
def _reduce_4(val, _values, result)
|
757
|
-
|
979
|
+
result = AST::MethodType.new(location: AST::Location.concat(*val.compact.map(&:location)),
|
980
|
+
type_params: val[0],
|
981
|
+
params: val[1]&.value,
|
982
|
+
block: val[2],
|
983
|
+
return_type: val[4])
|
984
|
+
|
758
985
|
result
|
759
986
|
end
|
760
987
|
.,.,
|
761
988
|
|
762
989
|
# reduce 5 omitted
|
763
990
|
|
764
|
-
module_eval(<<'.,.,', 'parser.y',
|
991
|
+
module_eval(<<'.,.,', 'parser.y', 20)
|
765
992
|
def _reduce_6(val, _values, result)
|
766
|
-
result = Types::Union.
|
993
|
+
result = AST::Types::Union.build(location: val[0].location + val[2].location,
|
994
|
+
types: val[1])
|
767
995
|
result
|
768
996
|
end
|
769
997
|
.,.,
|
770
998
|
|
771
|
-
module_eval(<<'.,.,', 'parser.y',
|
999
|
+
module_eval(<<'.,.,', 'parser.y', 23)
|
772
1000
|
def _reduce_7(val, _values, result)
|
773
|
-
result =
|
1001
|
+
result = nil
|
774
1002
|
result
|
775
1003
|
end
|
776
1004
|
.,.,
|
777
1005
|
|
778
|
-
module_eval(<<'.,.,', 'parser.y',
|
1006
|
+
module_eval(<<'.,.,', 'parser.y', 24)
|
779
1007
|
def _reduce_8(val, _values, result)
|
780
|
-
result = val[
|
1008
|
+
result = LocatedValue.new(location: val[0].location + val[2].location,
|
1009
|
+
value: val[1])
|
781
1010
|
result
|
782
1011
|
end
|
783
1012
|
.,.,
|
784
1013
|
|
785
|
-
module_eval(<<'.,.,', 'parser.y',
|
1014
|
+
module_eval(<<'.,.,', 'parser.y', 26)
|
786
1015
|
def _reduce_9(val, _values, result)
|
787
|
-
result =
|
1016
|
+
result = LocatedValue.new(location: val[0].location,
|
1017
|
+
value: AST::MethodType::Params::Required.new(location: val[0].location, type: val[0]))
|
788
1018
|
result
|
789
1019
|
end
|
790
1020
|
.,.,
|
791
1021
|
|
792
|
-
module_eval(<<'.,.,', 'parser.y',
|
1022
|
+
module_eval(<<'.,.,', 'parser.y', 29)
|
793
1023
|
def _reduce_10(val, _values, result)
|
794
|
-
result =
|
1024
|
+
result = AST::MethodType::Params::Required.new(location: val[0].location, type: val[0])
|
795
1025
|
result
|
796
1026
|
end
|
797
1027
|
.,.,
|
798
1028
|
|
799
|
-
module_eval(<<'.,.,', 'parser.y',
|
1029
|
+
module_eval(<<'.,.,', 'parser.y', 31)
|
800
1030
|
def _reduce_11(val, _values, result)
|
801
|
-
|
1031
|
+
location = val[0].location
|
1032
|
+
result = AST::MethodType::Params::Required.new(location: location,
|
1033
|
+
type: val[0],
|
1034
|
+
next_params: val[2])
|
1035
|
+
|
802
1036
|
result
|
803
1037
|
end
|
804
1038
|
.,.,
|
805
1039
|
|
806
|
-
module_eval(<<'.,.,', 'parser.y',
|
1040
|
+
module_eval(<<'.,.,', 'parser.y', 36)
|
807
1041
|
def _reduce_12(val, _values, result)
|
808
1042
|
result = val[0]
|
809
1043
|
result
|
810
1044
|
end
|
811
1045
|
.,.,
|
812
1046
|
|
813
|
-
module_eval(<<'.,.,', 'parser.y',
|
1047
|
+
module_eval(<<'.,.,', 'parser.y', 38)
|
814
1048
|
def _reduce_13(val, _values, result)
|
815
|
-
result =
|
1049
|
+
result = AST::MethodType::Params::Optional.new(location: val[0].first, type: val[0].last)
|
816
1050
|
result
|
817
1051
|
end
|
818
1052
|
.,.,
|
819
1053
|
|
820
|
-
module_eval(<<'.,.,', 'parser.y',
|
1054
|
+
module_eval(<<'.,.,', 'parser.y', 40)
|
821
1055
|
def _reduce_14(val, _values, result)
|
822
|
-
|
1056
|
+
location = val[0].first
|
1057
|
+
result = AST::MethodType::Params::Optional.new(type: val[0].last, location: location, next_params: val[2])
|
1058
|
+
|
823
1059
|
result
|
824
1060
|
end
|
825
1061
|
.,.,
|
826
1062
|
|
827
|
-
module_eval(<<'.,.,', 'parser.y',
|
1063
|
+
module_eval(<<'.,.,', 'parser.y', 43)
|
828
1064
|
def _reduce_15(val, _values, result)
|
829
1065
|
result = val[0]
|
830
1066
|
result
|
831
1067
|
end
|
832
1068
|
.,.,
|
833
1069
|
|
834
|
-
module_eval(<<'.,.,', 'parser.y',
|
1070
|
+
module_eval(<<'.,.,', 'parser.y', 45)
|
835
1071
|
def _reduce_16(val, _values, result)
|
836
|
-
result =
|
1072
|
+
result = AST::MethodType::Params::Rest.new(location: val[0].first, type: val[0].last)
|
837
1073
|
result
|
838
1074
|
end
|
839
1075
|
.,.,
|
840
1076
|
|
841
|
-
module_eval(<<'.,.,', 'parser.y',
|
1077
|
+
module_eval(<<'.,.,', 'parser.y', 47)
|
842
1078
|
def _reduce_17(val, _values, result)
|
843
|
-
|
1079
|
+
loc = val[0].first
|
1080
|
+
result = AST::MethodType::Params::Rest.new(location: loc, type: val[0].last, next_params: val[2])
|
1081
|
+
|
844
1082
|
result
|
845
1083
|
end
|
846
1084
|
.,.,
|
847
1085
|
|
848
|
-
module_eval(<<'.,.,', 'parser.y',
|
1086
|
+
module_eval(<<'.,.,', 'parser.y', 50)
|
849
1087
|
def _reduce_18(val, _values, result)
|
850
1088
|
result = val[0]
|
851
1089
|
result
|
852
1090
|
end
|
853
1091
|
.,.,
|
854
1092
|
|
855
|
-
module_eval(<<'.,.,', 'parser.y',
|
1093
|
+
module_eval(<<'.,.,', 'parser.y', 53)
|
856
1094
|
def _reduce_19(val, _values, result)
|
857
|
-
|
1095
|
+
location, name, type = val[0]
|
1096
|
+
result = AST::MethodType::Params::RequiredKeyword.new(location: location, name: name, type: type)
|
1097
|
+
|
858
1098
|
result
|
859
1099
|
end
|
860
1100
|
.,.,
|
861
1101
|
|
862
|
-
module_eval(<<'.,.,', 'parser.y',
|
1102
|
+
module_eval(<<'.,.,', 'parser.y', 57)
|
863
1103
|
def _reduce_20(val, _values, result)
|
864
|
-
|
1104
|
+
location, name, type = val[0]
|
1105
|
+
result = AST::MethodType::Params::OptionalKeyword.new(location: location, name: name, type: type)
|
1106
|
+
|
865
1107
|
result
|
866
1108
|
end
|
867
1109
|
.,.,
|
868
1110
|
|
869
|
-
module_eval(<<'.,.,', 'parser.y',
|
1111
|
+
module_eval(<<'.,.,', 'parser.y', 61)
|
870
1112
|
def _reduce_21(val, _values, result)
|
871
|
-
|
1113
|
+
location, name, type = val[0]
|
1114
|
+
result = AST::MethodType::Params::RequiredKeyword.new(location: location,
|
1115
|
+
name: name,
|
1116
|
+
type: type,
|
1117
|
+
next_params: val[2])
|
1118
|
+
|
872
1119
|
result
|
873
1120
|
end
|
874
1121
|
.,.,
|
875
1122
|
|
876
|
-
module_eval(<<'.,.,', 'parser.y',
|
1123
|
+
module_eval(<<'.,.,', 'parser.y', 68)
|
877
1124
|
def _reduce_22(val, _values, result)
|
878
|
-
|
1125
|
+
location, name, type = val[0]
|
1126
|
+
result = AST::MethodType::Params::OptionalKeyword.new(location: location,
|
1127
|
+
name: name,
|
1128
|
+
type: type,
|
1129
|
+
next_params: val[2])
|
1130
|
+
|
879
1131
|
result
|
880
1132
|
end
|
881
1133
|
.,.,
|
882
1134
|
|
883
|
-
module_eval(<<'.,.,', 'parser.y',
|
1135
|
+
module_eval(<<'.,.,', 'parser.y', 74)
|
884
1136
|
def _reduce_23(val, _values, result)
|
885
1137
|
result = val[0]
|
886
1138
|
result
|
887
1139
|
end
|
888
1140
|
.,.,
|
889
1141
|
|
890
|
-
module_eval(<<'.,.,', 'parser.y',
|
1142
|
+
module_eval(<<'.,.,', 'parser.y', 76)
|
891
1143
|
def _reduce_24(val, _values, result)
|
892
|
-
result =
|
1144
|
+
result = nil
|
893
1145
|
result
|
894
1146
|
end
|
895
1147
|
.,.,
|
896
1148
|
|
897
|
-
module_eval(<<'.,.,', 'parser.y',
|
1149
|
+
module_eval(<<'.,.,', 'parser.y', 78)
|
898
1150
|
def _reduce_25(val, _values, result)
|
899
|
-
|
1151
|
+
result = AST::MethodType::Params::RestKeyword.new(location: val[0].location + val[1].location,
|
1152
|
+
type: val[1])
|
1153
|
+
|
900
1154
|
result
|
901
1155
|
end
|
902
1156
|
.,.,
|
903
1157
|
|
904
|
-
module_eval(<<'.,.,', 'parser.y',
|
1158
|
+
module_eval(<<'.,.,', 'parser.y', 82)
|
905
1159
|
def _reduce_26(val, _values, result)
|
906
1160
|
result = val[0]
|
907
1161
|
result
|
908
1162
|
end
|
909
1163
|
.,.,
|
910
1164
|
|
911
|
-
module_eval(<<'.,.,', 'parser.y',
|
1165
|
+
module_eval(<<'.,.,', 'parser.y', 83)
|
912
1166
|
def _reduce_27(val, _values, result)
|
913
|
-
result = val[1]
|
1167
|
+
result = [val[0].location + val[1].location,
|
1168
|
+
val[1]]
|
914
1169
|
result
|
915
1170
|
end
|
916
1171
|
.,.,
|
917
1172
|
|
918
|
-
module_eval(<<'.,.,', 'parser.y',
|
1173
|
+
module_eval(<<'.,.,', 'parser.y', 85)
|
919
1174
|
def _reduce_28(val, _values, result)
|
920
|
-
result = val[1]
|
1175
|
+
result = [val[0].location + val[1].location,
|
1176
|
+
val[1]]
|
921
1177
|
result
|
922
1178
|
end
|
923
1179
|
.,.,
|
924
1180
|
|
925
|
-
module_eval(<<'.,.,', 'parser.y',
|
1181
|
+
module_eval(<<'.,.,', 'parser.y', 87)
|
926
1182
|
def _reduce_29(val, _values, result)
|
927
|
-
result =
|
1183
|
+
result = [val[0].location + val[2].location,
|
1184
|
+
val[0].value,
|
1185
|
+
val[2]]
|
928
1186
|
result
|
929
1187
|
end
|
930
1188
|
.,.,
|
931
1189
|
|
932
|
-
module_eval(<<'.,.,', 'parser.y',
|
1190
|
+
module_eval(<<'.,.,', 'parser.y', 90)
|
933
1191
|
def _reduce_30(val, _values, result)
|
934
|
-
result =
|
1192
|
+
result = [val[0].location + val[3].location,
|
1193
|
+
val[1].value,
|
1194
|
+
val[3]]
|
935
1195
|
result
|
936
1196
|
end
|
937
1197
|
.,.,
|
938
1198
|
|
939
|
-
module_eval(<<'.,.,', 'parser.y',
|
1199
|
+
module_eval(<<'.,.,', 'parser.y', 94)
|
940
1200
|
def _reduce_31(val, _values, result)
|
941
1201
|
result = nil
|
942
1202
|
result
|
943
1203
|
end
|
944
1204
|
.,.,
|
945
1205
|
|
946
|
-
module_eval(<<'.,.,', 'parser.y',
|
1206
|
+
module_eval(<<'.,.,', 'parser.y', 96)
|
947
1207
|
def _reduce_32(val, _values, result)
|
948
|
-
|
949
|
-
|
1208
|
+
result = AST::MethodType::Block.new(params: nil,
|
1209
|
+
return_type: nil,
|
1210
|
+
location: val[0].location + val[1].location)
|
1211
|
+
|
950
1212
|
result
|
951
1213
|
end
|
952
1214
|
.,.,
|
953
1215
|
|
954
|
-
module_eval(<<'.,.,', 'parser.y',
|
1216
|
+
module_eval(<<'.,.,', 'parser.y', 101)
|
955
1217
|
def _reduce_33(val, _values, result)
|
956
|
-
|
1218
|
+
result = AST::MethodType::Block.new(params: val[1],
|
1219
|
+
return_type: val[3],
|
1220
|
+
location: val[0].location + val[4].location)
|
1221
|
+
|
957
1222
|
result
|
958
1223
|
end
|
959
1224
|
.,.,
|
960
1225
|
|
961
|
-
module_eval(<<'.,.,', 'parser.y',
|
1226
|
+
module_eval(<<'.,.,', 'parser.y', 106)
|
962
1227
|
def _reduce_34(val, _values, result)
|
963
|
-
result =
|
1228
|
+
result = nil
|
964
1229
|
result
|
965
1230
|
end
|
966
1231
|
.,.,
|
967
1232
|
|
968
|
-
module_eval(<<'.,.,', 'parser.y',
|
1233
|
+
module_eval(<<'.,.,', 'parser.y', 108)
|
969
1234
|
def _reduce_35(val, _values, result)
|
970
|
-
|
1235
|
+
result = val[1]
|
1236
|
+
|
971
1237
|
result
|
972
1238
|
end
|
973
1239
|
.,.,
|
974
1240
|
|
975
|
-
module_eval(<<'.,.,', 'parser.y',
|
1241
|
+
module_eval(<<'.,.,', 'parser.y', 112)
|
976
1242
|
def _reduce_36(val, _values, result)
|
977
|
-
|
1243
|
+
result = AST::MethodType::Params::Required.new(location: val[0].location,
|
1244
|
+
type: val[0])
|
1245
|
+
|
978
1246
|
result
|
979
1247
|
end
|
980
1248
|
.,.,
|
981
1249
|
|
982
|
-
module_eval(<<'.,.,', 'parser.y',
|
1250
|
+
module_eval(<<'.,.,', 'parser.y', 116)
|
983
1251
|
def _reduce_37(val, _values, result)
|
984
|
-
|
1252
|
+
result = AST::MethodType::Params::Required.new(location: val[0].location,
|
1253
|
+
type: val[0],
|
1254
|
+
next_params: val[2])
|
1255
|
+
|
985
1256
|
result
|
986
1257
|
end
|
987
1258
|
.,.,
|
988
1259
|
|
989
|
-
module_eval(<<'.,.,', 'parser.y',
|
1260
|
+
module_eval(<<'.,.,', 'parser.y', 120)
|
990
1261
|
def _reduce_38(val, _values, result)
|
991
1262
|
result = val[0]
|
992
1263
|
result
|
993
1264
|
end
|
994
1265
|
.,.,
|
995
1266
|
|
996
|
-
module_eval(<<'.,.,', 'parser.y',
|
1267
|
+
module_eval(<<'.,.,', 'parser.y', 123)
|
997
1268
|
def _reduce_39(val, _values, result)
|
998
|
-
|
1269
|
+
result = AST::MethodType::Params::Optional.new(location: val[0].first,
|
1270
|
+
type: val[0].last)
|
1271
|
+
|
999
1272
|
result
|
1000
1273
|
end
|
1001
1274
|
.,.,
|
1002
1275
|
|
1003
|
-
module_eval(<<'.,.,', 'parser.y',
|
1276
|
+
module_eval(<<'.,.,', 'parser.y', 127)
|
1004
1277
|
def _reduce_40(val, _values, result)
|
1005
|
-
|
1278
|
+
loc = val.first[0] + (val[2] || val[1]).location
|
1279
|
+
type = val.first[1]
|
1280
|
+
next_params = val[2]
|
1281
|
+
result = AST::MethodType::Params::Optional.new(location: loc, type: type, next_params: next_params)
|
1282
|
+
|
1006
1283
|
result
|
1007
1284
|
end
|
1008
1285
|
.,.,
|
1009
1286
|
|
1010
|
-
module_eval(<<'.,.,', 'parser.y',
|
1287
|
+
module_eval(<<'.,.,', 'parser.y', 132)
|
1011
1288
|
def _reduce_41(val, _values, result)
|
1012
1289
|
result = val[0]
|
1013
1290
|
result
|
1014
1291
|
end
|
1015
1292
|
.,.,
|
1016
1293
|
|
1017
|
-
module_eval(<<'.,.,', 'parser.y',
|
1294
|
+
module_eval(<<'.,.,', 'parser.y', 134)
|
1018
1295
|
def _reduce_42(val, _values, result)
|
1019
|
-
result =
|
1296
|
+
result = nil
|
1020
1297
|
result
|
1021
1298
|
end
|
1022
1299
|
.,.,
|
1023
1300
|
|
1024
|
-
module_eval(<<'.,.,', 'parser.y',
|
1301
|
+
module_eval(<<'.,.,', 'parser.y', 136)
|
1025
1302
|
def _reduce_43(val, _values, result)
|
1026
|
-
|
1303
|
+
result = AST::MethodType::Params::Rest.new(location: val[0].first, type: val[0].last)
|
1304
|
+
|
1027
1305
|
result
|
1028
1306
|
end
|
1029
1307
|
.,.,
|
1030
1308
|
|
1031
|
-
module_eval(<<'.,.,', 'parser.y',
|
1309
|
+
module_eval(<<'.,.,', 'parser.y', 140)
|
1032
1310
|
def _reduce_44(val, _values, result)
|
1033
|
-
|
1311
|
+
result = AST::Types::Name.new(name: val[0].value, location: val[0].location, args: [])
|
1312
|
+
|
1034
1313
|
result
|
1035
1314
|
end
|
1036
1315
|
.,.,
|
1037
1316
|
|
1038
|
-
module_eval(<<'.,.,', 'parser.y',
|
1317
|
+
module_eval(<<'.,.,', 'parser.y', 143)
|
1039
1318
|
def _reduce_45(val, _values, result)
|
1040
|
-
|
1319
|
+
loc = val[0].location + val[3].location
|
1320
|
+
name = val[0].value
|
1321
|
+
args = val[2]
|
1322
|
+
result = AST::Types::Name.new(location: loc, name: name, args: args)
|
1323
|
+
|
1041
1324
|
result
|
1042
1325
|
end
|
1043
1326
|
.,.,
|
1044
1327
|
|
1045
|
-
module_eval(<<'.,.,', 'parser.y',
|
1328
|
+
module_eval(<<'.,.,', 'parser.y', 148)
|
1046
1329
|
def _reduce_46(val, _values, result)
|
1047
|
-
result = Types::
|
1330
|
+
result = AST::Types::Any.new(location: val[0].location)
|
1048
1331
|
result
|
1049
1332
|
end
|
1050
1333
|
.,.,
|
1051
1334
|
|
1052
|
-
module_eval(<<'.,.,', 'parser.y',
|
1335
|
+
module_eval(<<'.,.,', 'parser.y', 149)
|
1053
1336
|
def _reduce_47(val, _values, result)
|
1054
|
-
result = Types::
|
1337
|
+
result = AST::Types::Var.new(location: val[0].location, name: val[0].value)
|
1055
1338
|
result
|
1056
1339
|
end
|
1057
1340
|
.,.,
|
1058
1341
|
|
1059
|
-
module_eval(<<'.,.,', 'parser.y',
|
1342
|
+
module_eval(<<'.,.,', 'parser.y', 150)
|
1060
1343
|
def _reduce_48(val, _values, result)
|
1061
|
-
result = Types::
|
1344
|
+
result = AST::Types::Class.new(location: val[0].location)
|
1062
1345
|
result
|
1063
1346
|
end
|
1064
1347
|
.,.,
|
1065
1348
|
|
1066
|
-
module_eval(<<'.,.,', 'parser.y',
|
1349
|
+
module_eval(<<'.,.,', 'parser.y', 151)
|
1067
1350
|
def _reduce_49(val, _values, result)
|
1068
|
-
result = Types::
|
1351
|
+
result = AST::Types::Class.new(location: val[0].location)
|
1069
1352
|
result
|
1070
1353
|
end
|
1071
1354
|
.,.,
|
1072
1355
|
|
1073
|
-
module_eval(<<'.,.,', 'parser.y',
|
1356
|
+
module_eval(<<'.,.,', 'parser.y', 152)
|
1074
1357
|
def _reduce_50(val, _values, result)
|
1075
|
-
result = Types::
|
1358
|
+
result = AST::Types::Instance.new(location: val[0].location)
|
1076
1359
|
result
|
1077
1360
|
end
|
1078
1361
|
.,.,
|
1079
1362
|
|
1080
|
-
module_eval(<<'.,.,', 'parser.y',
|
1363
|
+
module_eval(<<'.,.,', 'parser.y', 153)
|
1081
1364
|
def _reduce_51(val, _values, result)
|
1082
|
-
result = Types::
|
1365
|
+
result = AST::Types::Self.new(location: val[0].location)
|
1083
1366
|
result
|
1084
1367
|
end
|
1085
1368
|
.,.,
|
1086
1369
|
|
1087
|
-
module_eval(<<'.,.,', 'parser.y',
|
1370
|
+
module_eval(<<'.,.,', 'parser.y', 154)
|
1088
1371
|
def _reduce_52(val, _values, result)
|
1089
|
-
result = Types::
|
1372
|
+
result = AST::Types::Void.new(location: val[0].location)
|
1090
1373
|
result
|
1091
1374
|
end
|
1092
1375
|
.,.,
|
1093
1376
|
|
1094
|
-
module_eval(<<'.,.,', 'parser.y',
|
1377
|
+
module_eval(<<'.,.,', 'parser.y', 155)
|
1095
1378
|
def _reduce_53(val, _values, result)
|
1096
|
-
result = Types::
|
1379
|
+
result = AST::Types::Name.new_instance(name: ModuleName.new(name: "NilClass", absolute: true),
|
1380
|
+
location: val[0].location)
|
1097
1381
|
result
|
1098
1382
|
end
|
1099
1383
|
.,.,
|
1100
1384
|
|
1101
|
-
module_eval(<<'.,.,', 'parser.y',
|
1385
|
+
module_eval(<<'.,.,', 'parser.y', 159)
|
1102
1386
|
def _reduce_54(val, _values, result)
|
1103
|
-
|
1387
|
+
result = LocatedValue.new(value: TypeName::Instance.new(name: val[0].value),
|
1388
|
+
location: val[0].location)
|
1389
|
+
|
1104
1390
|
result
|
1105
1391
|
end
|
1106
1392
|
.,.,
|
1107
1393
|
|
1108
|
-
|
1394
|
+
module_eval(<<'.,.,', 'parser.y', 163)
|
1395
|
+
def _reduce_55(val, _values, result)
|
1396
|
+
result = LocatedValue.new(value: TypeName::Interface.new(name: val[0].value),
|
1397
|
+
location: val[0].location)
|
1398
|
+
|
1399
|
+
result
|
1400
|
+
end
|
1401
|
+
.,.,
|
1109
1402
|
|
1110
1403
|
# reduce 56 omitted
|
1111
1404
|
|
1112
|
-
|
1405
|
+
module_eval(<<'.,.,', 'parser.y', 169)
|
1406
|
+
def _reduce_57(val, _values, result)
|
1407
|
+
loc = val[0].location + (val[3] || val[2]).location
|
1408
|
+
result = LocatedValue.new(value: TypeName::Class.new(name: val[0].value, constructor: val[3]&.value),
|
1409
|
+
location: loc)
|
1410
|
+
|
1411
|
+
result
|
1412
|
+
end
|
1413
|
+
.,.,
|
1113
1414
|
|
1114
|
-
module_eval(<<'.,.,', 'parser.y',
|
1415
|
+
module_eval(<<'.,.,', 'parser.y', 174)
|
1115
1416
|
def _reduce_58(val, _values, result)
|
1116
|
-
|
1417
|
+
loc = val[0].location + val.last.location
|
1418
|
+
result = LocatedValue.new(value: TypeName::Module.new(name: val[0].value),
|
1419
|
+
location: loc)
|
1420
|
+
|
1117
1421
|
result
|
1118
1422
|
end
|
1119
1423
|
.,.,
|
1120
1424
|
|
1121
|
-
module_eval(<<'.,.,', 'parser.y',
|
1425
|
+
module_eval(<<'.,.,', 'parser.y', 179)
|
1122
1426
|
def _reduce_59(val, _values, result)
|
1123
|
-
result =
|
1427
|
+
result = nil
|
1124
1428
|
result
|
1125
1429
|
end
|
1126
1430
|
.,.,
|
1127
1431
|
|
1128
|
-
|
1129
|
-
|
1130
|
-
|
1432
|
+
# reduce 60 omitted
|
1433
|
+
|
1434
|
+
# reduce 61 omitted
|
1435
|
+
|
1436
|
+
# reduce 62 omitted
|
1437
|
+
|
1438
|
+
module_eval(<<'.,.,', 'parser.y', 185)
|
1439
|
+
def _reduce_63(val, _values, result)
|
1440
|
+
loc = val[0].first.location + val[0].last.location
|
1441
|
+
result = AST::Types::Union.build(types: val[0], location: loc)
|
1442
|
+
|
1131
1443
|
result
|
1132
1444
|
end
|
1133
1445
|
.,.,
|
1134
1446
|
|
1135
|
-
module_eval(<<'.,.,', 'parser.y',
|
1136
|
-
def
|
1137
|
-
result = [val[0]
|
1447
|
+
module_eval(<<'.,.,', 'parser.y', 189)
|
1448
|
+
def _reduce_64(val, _values, result)
|
1449
|
+
result = [val[0]]
|
1138
1450
|
result
|
1139
1451
|
end
|
1140
1452
|
.,.,
|
1141
1453
|
|
1142
|
-
module_eval(<<'.,.,', 'parser.y',
|
1143
|
-
def
|
1454
|
+
module_eval(<<'.,.,', 'parser.y', 190)
|
1455
|
+
def _reduce_65(val, _values, result)
|
1144
1456
|
result = [val[0]] + val[2]
|
1145
1457
|
result
|
1146
1458
|
end
|
1147
1459
|
.,.,
|
1148
1460
|
|
1149
|
-
|
1150
|
-
|
1151
|
-
# reduce 64 omitted
|
1152
|
-
|
1153
|
-
# reduce 65 omitted
|
1154
|
-
|
1155
|
-
module_eval(<<'.,.,', 'parser.y', 91)
|
1461
|
+
module_eval(<<'.,.,', 'parser.y', 192)
|
1156
1462
|
def _reduce_66(val, _values, result)
|
1157
|
-
result =
|
1463
|
+
result = [val[0], val[2]]
|
1158
1464
|
result
|
1159
1465
|
end
|
1160
1466
|
.,.,
|
1161
1467
|
|
1162
|
-
module_eval(<<'.,.,', 'parser.y',
|
1468
|
+
module_eval(<<'.,.,', 'parser.y', 193)
|
1163
1469
|
def _reduce_67(val, _values, result)
|
1164
|
-
result =
|
1470
|
+
result = [val[0]] + val[2]
|
1165
1471
|
result
|
1166
1472
|
end
|
1167
1473
|
.,.,
|
1168
1474
|
|
1169
|
-
|
1170
|
-
|
1171
|
-
|
1475
|
+
# reduce 68 omitted
|
1476
|
+
|
1477
|
+
# reduce 69 omitted
|
1478
|
+
|
1479
|
+
# reduce 70 omitted
|
1480
|
+
|
1481
|
+
# reduce 71 omitted
|
1482
|
+
|
1483
|
+
# reduce 72 omitted
|
1484
|
+
|
1485
|
+
# reduce 73 omitted
|
1486
|
+
|
1487
|
+
# reduce 74 omitted
|
1488
|
+
|
1489
|
+
# reduce 75 omitted
|
1490
|
+
|
1491
|
+
# reduce 76 omitted
|
1492
|
+
|
1493
|
+
module_eval(<<'.,.,', 'parser.y', 205)
|
1494
|
+
def _reduce_77(val, _values, result)
|
1495
|
+
result = []
|
1172
1496
|
result
|
1173
1497
|
end
|
1174
1498
|
.,.,
|
1175
1499
|
|
1176
|
-
module_eval(<<'.,.,', 'parser.y',
|
1177
|
-
def
|
1178
|
-
result =
|
1500
|
+
module_eval(<<'.,.,', 'parser.y', 206)
|
1501
|
+
def _reduce_78(val, _values, result)
|
1502
|
+
result = [val[0]] + val[1]
|
1179
1503
|
result
|
1180
1504
|
end
|
1181
1505
|
.,.,
|
1182
1506
|
|
1183
|
-
module_eval(<<'.,.,', 'parser.y',
|
1184
|
-
def
|
1185
|
-
result =
|
1507
|
+
module_eval(<<'.,.,', 'parser.y', 207)
|
1508
|
+
def _reduce_79(val, _values, result)
|
1509
|
+
result = [val[0]] + val[1]
|
1186
1510
|
result
|
1187
1511
|
end
|
1188
1512
|
.,.,
|
1189
1513
|
|
1190
|
-
module_eval(<<'.,.,', 'parser.y',
|
1191
|
-
def
|
1192
|
-
result =
|
1514
|
+
module_eval(<<'.,.,', 'parser.y', 208)
|
1515
|
+
def _reduce_80(val, _values, result)
|
1516
|
+
result = [val[0]] + val[1]
|
1193
1517
|
result
|
1194
1518
|
end
|
1195
1519
|
.,.,
|
1196
1520
|
|
1197
|
-
module_eval(<<'.,.,', 'parser.y',
|
1198
|
-
def
|
1199
|
-
result = []
|
1521
|
+
module_eval(<<'.,.,', 'parser.y', 209)
|
1522
|
+
def _reduce_81(val, _values, result)
|
1523
|
+
result = [val[0]] + val[1]
|
1200
1524
|
result
|
1201
1525
|
end
|
1202
1526
|
.,.,
|
1203
1527
|
|
1204
|
-
module_eval(<<'.,.,', 'parser.y',
|
1205
|
-
def
|
1528
|
+
module_eval(<<'.,.,', 'parser.y', 210)
|
1529
|
+
def _reduce_82(val, _values, result)
|
1206
1530
|
result = [val[0]] + val[1]
|
1207
1531
|
result
|
1208
1532
|
end
|
1209
1533
|
.,.,
|
1210
1534
|
|
1211
|
-
module_eval(<<'.,.,', 'parser.y',
|
1212
|
-
def
|
1535
|
+
module_eval(<<'.,.,', 'parser.y', 211)
|
1536
|
+
def _reduce_83(val, _values, result)
|
1213
1537
|
result = [val[0]] + val[1]
|
1214
1538
|
result
|
1215
1539
|
end
|
1216
1540
|
.,.,
|
1217
1541
|
|
1218
|
-
module_eval(<<'.,.,', 'parser.y',
|
1219
|
-
def
|
1220
|
-
|
1542
|
+
module_eval(<<'.,.,', 'parser.y', 214)
|
1543
|
+
def _reduce_84(val, _values, result)
|
1544
|
+
loc = val.first.location + val.last.location
|
1545
|
+
result = AST::Signature::Gvar.new(
|
1546
|
+
location: loc,
|
1547
|
+
name: val[0].value,
|
1548
|
+
type: val[2]
|
1549
|
+
)
|
1550
|
+
|
1221
1551
|
result
|
1222
1552
|
end
|
1223
1553
|
.,.,
|
1224
1554
|
|
1225
|
-
module_eval(<<'.,.,', 'parser.y',
|
1226
|
-
def
|
1227
|
-
|
1555
|
+
module_eval(<<'.,.,', 'parser.y', 223)
|
1556
|
+
def _reduce_85(val, _values, result)
|
1557
|
+
loc = val.first.location + val.last.location
|
1558
|
+
result = AST::Signature::Const.new(
|
1559
|
+
location: loc,
|
1560
|
+
name: val[0].value,
|
1561
|
+
type: val[2]
|
1562
|
+
)
|
1563
|
+
|
1228
1564
|
result
|
1229
1565
|
end
|
1230
1566
|
.,.,
|
1231
1567
|
|
1232
|
-
module_eval(<<'.,.,', 'parser.y',
|
1233
|
-
def
|
1234
|
-
|
1568
|
+
module_eval(<<'.,.,', 'parser.y', 232)
|
1569
|
+
def _reduce_86(val, _values, result)
|
1570
|
+
loc = val.first.location + val.last.location
|
1571
|
+
result = AST::Signature::Interface.new(
|
1572
|
+
location: loc,
|
1573
|
+
name: val[1].value,
|
1574
|
+
params: val[2],
|
1575
|
+
methods: val[3]
|
1576
|
+
)
|
1577
|
+
|
1235
1578
|
result
|
1236
1579
|
end
|
1237
1580
|
.,.,
|
1238
1581
|
|
1239
|
-
module_eval(<<'.,.,', 'parser.y',
|
1240
|
-
def
|
1241
|
-
|
1582
|
+
module_eval(<<'.,.,', 'parser.y', 242)
|
1583
|
+
def _reduce_87(val, _values, result)
|
1584
|
+
loc = val.first.location + val.last.location
|
1585
|
+
result = AST::Signature::Class.new(name: val[1].value.absolute!,
|
1586
|
+
params: val[2],
|
1587
|
+
super_class: val[3],
|
1588
|
+
members: val[4],
|
1589
|
+
location: loc)
|
1590
|
+
|
1242
1591
|
result
|
1243
1592
|
end
|
1244
1593
|
.,.,
|
1245
1594
|
|
1246
|
-
module_eval(<<'.,.,', 'parser.y',
|
1247
|
-
def
|
1248
|
-
|
1595
|
+
module_eval(<<'.,.,', 'parser.y', 250)
|
1596
|
+
def _reduce_88(val, _values, result)
|
1597
|
+
loc = val.first.location + val.last.location
|
1598
|
+
result = AST::Signature::Module.new(name: val[1].value.absolute!,
|
1599
|
+
location: loc,
|
1600
|
+
params: val[2],
|
1601
|
+
self_type: val[3],
|
1602
|
+
members: val[4])
|
1603
|
+
|
1249
1604
|
result
|
1250
1605
|
end
|
1251
1606
|
.,.,
|
1252
1607
|
|
1253
|
-
module_eval(<<'.,.,', 'parser.y',
|
1254
|
-
def
|
1255
|
-
|
1608
|
+
module_eval(<<'.,.,', 'parser.y', 258)
|
1609
|
+
def _reduce_89(val, _values, result)
|
1610
|
+
loc = val.first.location + val.last.location
|
1611
|
+
result = AST::Signature::Extension.new(module_name: val[1].value.absolute!,
|
1612
|
+
name: val[4].value,
|
1613
|
+
location: loc,
|
1614
|
+
params: val[2],
|
1615
|
+
members: val[6])
|
1616
|
+
|
1256
1617
|
result
|
1257
1618
|
end
|
1258
1619
|
.,.,
|
1259
1620
|
|
1260
|
-
module_eval(<<'.,.,', 'parser.y',
|
1261
|
-
def
|
1621
|
+
module_eval(<<'.,.,', 'parser.y', 266)
|
1622
|
+
def _reduce_90(val, _values, result)
|
1262
1623
|
result = nil
|
1263
1624
|
result
|
1264
1625
|
end
|
1265
1626
|
.,.,
|
1266
1627
|
|
1267
|
-
module_eval(<<'.,.,', 'parser.y',
|
1268
|
-
def
|
1628
|
+
module_eval(<<'.,.,', 'parser.y', 267)
|
1629
|
+
def _reduce_91(val, _values, result)
|
1269
1630
|
result = val[1]
|
1270
1631
|
result
|
1271
1632
|
end
|
1272
1633
|
.,.,
|
1273
1634
|
|
1274
|
-
|
1275
|
-
def _reduce_83(val, _values, result)
|
1276
|
-
result = val[0]
|
1277
|
-
result
|
1278
|
-
end
|
1279
|
-
.,.,
|
1635
|
+
# reduce 92 omitted
|
1280
1636
|
|
1281
|
-
|
1282
|
-
|
1283
|
-
|
1637
|
+
# reduce 93 omitted
|
1638
|
+
|
1639
|
+
module_eval(<<'.,.,', 'parser.y', 273)
|
1640
|
+
def _reduce_94(val, _values, result)
|
1641
|
+
loc = val.first.location + val.last.location
|
1642
|
+
result = LocatedValue.new(location: loc, value: val[1].value.absolute!)
|
1643
|
+
|
1284
1644
|
result
|
1285
1645
|
end
|
1286
1646
|
.,.,
|
1287
1647
|
|
1288
|
-
module_eval(<<'.,.,', 'parser.y',
|
1289
|
-
def
|
1290
|
-
|
1648
|
+
module_eval(<<'.,.,', 'parser.y', 278)
|
1649
|
+
def _reduce_95(val, _values, result)
|
1650
|
+
result = LocatedValue.new(location: val[0].location, value: ModuleName.parse(val[0].value))
|
1651
|
+
|
1291
1652
|
result
|
1292
1653
|
end
|
1293
1654
|
.,.,
|
1294
1655
|
|
1295
|
-
module_eval(<<'.,.,', 'parser.y',
|
1296
|
-
def
|
1297
|
-
|
1656
|
+
module_eval(<<'.,.,', 'parser.y', 281)
|
1657
|
+
def _reduce_96(val, _values, result)
|
1658
|
+
location = val[0].location + val.last.location
|
1659
|
+
name = ModuleName.parse(val[0].value) + val.last.value
|
1660
|
+
result = LocatedValue.new(location: location, value: name)
|
1661
|
+
|
1298
1662
|
result
|
1299
1663
|
end
|
1300
1664
|
.,.,
|
1301
1665
|
|
1302
|
-
module_eval(<<'.,.,', 'parser.y',
|
1303
|
-
def
|
1304
|
-
result =
|
1666
|
+
module_eval(<<'.,.,', 'parser.y', 286)
|
1667
|
+
def _reduce_97(val, _values, result)
|
1668
|
+
result = []
|
1305
1669
|
result
|
1306
1670
|
end
|
1307
1671
|
.,.,
|
1308
1672
|
|
1309
|
-
module_eval(<<'.,.,', 'parser.y',
|
1310
|
-
def
|
1311
|
-
result = val[0]
|
1673
|
+
module_eval(<<'.,.,', 'parser.y', 287)
|
1674
|
+
def _reduce_98(val, _values, result)
|
1675
|
+
result = [val[0]] + val[1]
|
1312
1676
|
result
|
1313
1677
|
end
|
1314
1678
|
.,.,
|
1315
1679
|
|
1316
|
-
|
1317
|
-
|
1318
|
-
|
1680
|
+
# reduce 99 omitted
|
1681
|
+
|
1682
|
+
# reduce 100 omitted
|
1683
|
+
|
1684
|
+
# reduce 101 omitted
|
1685
|
+
|
1686
|
+
# reduce 102 omitted
|
1687
|
+
|
1688
|
+
# reduce 103 omitted
|
1689
|
+
|
1690
|
+
# reduce 104 omitted
|
1691
|
+
|
1692
|
+
module_eval(<<'.,.,', 'parser.y', 297)
|
1693
|
+
def _reduce_105(val, _values, result)
|
1694
|
+
loc = val.first.location + val.last.location
|
1695
|
+
result = AST::Signature::Members::Ivar.new(
|
1696
|
+
location: loc,
|
1697
|
+
name: val[0].value,
|
1698
|
+
type: val[2]
|
1699
|
+
)
|
1700
|
+
|
1319
1701
|
result
|
1320
1702
|
end
|
1321
1703
|
.,.,
|
1322
1704
|
|
1323
|
-
module_eval(<<'.,.,', 'parser.y',
|
1324
|
-
def
|
1325
|
-
|
1705
|
+
module_eval(<<'.,.,', 'parser.y', 306)
|
1706
|
+
def _reduce_106(val, _values, result)
|
1707
|
+
loc = val.first.location + val.last.last.location
|
1708
|
+
result = AST::Signature::Members::Method.new(
|
1709
|
+
name: val[2].value,
|
1710
|
+
types: val[4],
|
1711
|
+
kind: :instance,
|
1712
|
+
location: loc,
|
1713
|
+
attributes: [val[1] ? :constructor : nil].compact
|
1714
|
+
)
|
1715
|
+
|
1326
1716
|
result
|
1327
1717
|
end
|
1328
1718
|
.,.,
|
1329
1719
|
|
1330
|
-
module_eval(<<'.,.,', 'parser.y',
|
1331
|
-
def
|
1332
|
-
|
1720
|
+
module_eval(<<'.,.,', 'parser.y', 316)
|
1721
|
+
def _reduce_107(val, _values, result)
|
1722
|
+
loc = val.first.location + val.last.last.location
|
1723
|
+
result = AST::Signature::Members::Method.new(
|
1724
|
+
name: val[4].value,
|
1725
|
+
types: val[6],
|
1726
|
+
kind: :module,
|
1727
|
+
location: loc,
|
1728
|
+
attributes: [val[1] ? :constructor : nil].compact
|
1729
|
+
)
|
1730
|
+
|
1333
1731
|
result
|
1334
1732
|
end
|
1335
1733
|
.,.,
|
1336
1734
|
|
1337
|
-
module_eval(<<'.,.,', 'parser.y',
|
1338
|
-
def
|
1339
|
-
|
1735
|
+
module_eval(<<'.,.,', 'parser.y', 326)
|
1736
|
+
def _reduce_108(val, _values, result)
|
1737
|
+
loc = val.first.location + val.last.last.location
|
1738
|
+
result = AST::Signature::Members::Method.new(
|
1739
|
+
name: val[4].value,
|
1740
|
+
types: val[6],
|
1741
|
+
kind: :module_instance,
|
1742
|
+
location: loc,
|
1743
|
+
attributes: [val[1] ? :constructor : nil].compact
|
1744
|
+
)
|
1745
|
+
|
1340
1746
|
result
|
1341
1747
|
end
|
1342
1748
|
.,.,
|
1343
1749
|
|
1344
|
-
module_eval(<<'.,.,', 'parser.y',
|
1345
|
-
def
|
1346
|
-
|
1750
|
+
module_eval(<<'.,.,', 'parser.y', 336)
|
1751
|
+
def _reduce_109(val, _values, result)
|
1752
|
+
loc = val.first.location + val.last.location
|
1753
|
+
name = val[1].value
|
1754
|
+
result = AST::Signature::Members::Include.new(name: name, location: loc, args: [])
|
1755
|
+
|
1347
1756
|
result
|
1348
1757
|
end
|
1349
1758
|
.,.,
|
1350
1759
|
|
1351
|
-
module_eval(<<'.,.,', 'parser.y',
|
1352
|
-
def
|
1353
|
-
|
1760
|
+
module_eval(<<'.,.,', 'parser.y', 341)
|
1761
|
+
def _reduce_110(val, _values, result)
|
1762
|
+
loc = val.first.location + val.last.location
|
1763
|
+
name = val[1].value
|
1764
|
+
result = AST::Signature::Members::Include.new(name: name, location: loc, args: val[3])
|
1765
|
+
|
1354
1766
|
result
|
1355
1767
|
end
|
1356
1768
|
.,.,
|
1357
1769
|
|
1358
|
-
module_eval(<<'.,.,', 'parser.y',
|
1359
|
-
def
|
1360
|
-
|
1770
|
+
module_eval(<<'.,.,', 'parser.y', 346)
|
1771
|
+
def _reduce_111(val, _values, result)
|
1772
|
+
loc = val.first.location + val.last.location
|
1773
|
+
name = val[1].value
|
1774
|
+
result = AST::Signature::Members::Extend.new(name: name, location: loc, args: [])
|
1775
|
+
|
1361
1776
|
result
|
1362
1777
|
end
|
1363
1778
|
.,.,
|
1364
1779
|
|
1365
|
-
module_eval(<<'.,.,', 'parser.y',
|
1366
|
-
def
|
1367
|
-
|
1780
|
+
module_eval(<<'.,.,', 'parser.y', 351)
|
1781
|
+
def _reduce_112(val, _values, result)
|
1782
|
+
loc = val.first.location + val.last.location
|
1783
|
+
name = val[1].value
|
1784
|
+
result = AST::Signature::Members::Extend.new(name: name, location: loc, args: val[3])
|
1785
|
+
|
1368
1786
|
result
|
1369
1787
|
end
|
1370
1788
|
.,.,
|
1371
1789
|
|
1372
|
-
module_eval(<<'.,.,', 'parser.y',
|
1373
|
-
def
|
1790
|
+
module_eval(<<'.,.,', 'parser.y', 356)
|
1791
|
+
def _reduce_113(val, _values, result)
|
1374
1792
|
result = false
|
1375
1793
|
result
|
1376
1794
|
end
|
1377
1795
|
.,.,
|
1378
1796
|
|
1379
|
-
module_eval(<<'.,.,', 'parser.y',
|
1380
|
-
def
|
1797
|
+
module_eval(<<'.,.,', 'parser.y', 357)
|
1798
|
+
def _reduce_114(val, _values, result)
|
1381
1799
|
result = true
|
1382
1800
|
result
|
1383
1801
|
end
|
1384
1802
|
.,.,
|
1385
1803
|
|
1386
|
-
module_eval(<<'.,.,', 'parser.y',
|
1387
|
-
def
|
1804
|
+
module_eval(<<'.,.,', 'parser.y', 359)
|
1805
|
+
def _reduce_115(val, _values, result)
|
1388
1806
|
result = nil
|
1389
1807
|
result
|
1390
1808
|
end
|
1391
1809
|
.,.,
|
1392
1810
|
|
1393
|
-
module_eval(<<'.,.,', 'parser.y',
|
1394
|
-
def
|
1811
|
+
module_eval(<<'.,.,', 'parser.y', 360)
|
1812
|
+
def _reduce_116(val, _values, result)
|
1395
1813
|
result = val[1]
|
1396
1814
|
result
|
1397
1815
|
end
|
1398
1816
|
.,.,
|
1399
1817
|
|
1400
|
-
module_eval(<<'.,.,', 'parser.y',
|
1401
|
-
def
|
1402
|
-
|
1818
|
+
module_eval(<<'.,.,', 'parser.y', 363)
|
1819
|
+
def _reduce_117(val, _values, result)
|
1820
|
+
result = AST::Signature::SuperClass.new(location: val[0].location, name: val[0].value, args: [])
|
1821
|
+
|
1403
1822
|
result
|
1404
1823
|
end
|
1405
1824
|
.,.,
|
1406
1825
|
|
1407
|
-
module_eval(<<'.,.,', 'parser.y',
|
1408
|
-
def
|
1409
|
-
|
1826
|
+
module_eval(<<'.,.,', 'parser.y', 366)
|
1827
|
+
def _reduce_118(val, _values, result)
|
1828
|
+
loc = val[0].location + val[3].location
|
1829
|
+
name = val[0].value
|
1830
|
+
result = AST::Signature::SuperClass.new(location: loc, name: name, args: val[2])
|
1831
|
+
|
1410
1832
|
result
|
1411
1833
|
end
|
1412
1834
|
.,.,
|
1413
1835
|
|
1414
|
-
module_eval(<<'.,.,', 'parser.y',
|
1415
|
-
def
|
1416
|
-
result =
|
1836
|
+
module_eval(<<'.,.,', 'parser.y', 371)
|
1837
|
+
def _reduce_119(val, _values, result)
|
1838
|
+
result = nil
|
1417
1839
|
result
|
1418
1840
|
end
|
1419
1841
|
.,.,
|
1420
1842
|
|
1421
|
-
module_eval(<<'.,.,', 'parser.y',
|
1422
|
-
def
|
1423
|
-
|
1843
|
+
module_eval(<<'.,.,', 'parser.y', 373)
|
1844
|
+
def _reduce_120(val, _values, result)
|
1845
|
+
location = val[0].location + val[2].location
|
1846
|
+
result = AST::TypeParams.new(location: location, variables: val[1])
|
1847
|
+
|
1424
1848
|
result
|
1425
1849
|
end
|
1426
1850
|
.,.,
|
1427
1851
|
|
1428
|
-
module_eval(<<'.,.,', 'parser.y',
|
1429
|
-
def
|
1430
|
-
result =
|
1852
|
+
module_eval(<<'.,.,', 'parser.y', 377)
|
1853
|
+
def _reduce_121(val, _values, result)
|
1854
|
+
result = [val[0].value]
|
1431
1855
|
result
|
1432
1856
|
end
|
1433
1857
|
.,.,
|
1434
1858
|
|
1435
|
-
module_eval(<<'.,.,', 'parser.y',
|
1436
|
-
def
|
1437
|
-
result = val[
|
1859
|
+
module_eval(<<'.,.,', 'parser.y', 378)
|
1860
|
+
def _reduce_122(val, _values, result)
|
1861
|
+
result = [val[0].value] + val[2]
|
1438
1862
|
result
|
1439
1863
|
end
|
1440
1864
|
.,.,
|
1441
1865
|
|
1442
|
-
module_eval(<<'.,.,', 'parser.y',
|
1443
|
-
def
|
1444
|
-
result =
|
1866
|
+
module_eval(<<'.,.,', 'parser.y', 380)
|
1867
|
+
def _reduce_123(val, _values, result)
|
1868
|
+
result = []
|
1445
1869
|
result
|
1446
1870
|
end
|
1447
1871
|
.,.,
|
1448
1872
|
|
1449
|
-
module_eval(<<'.,.,', 'parser.y',
|
1450
|
-
def
|
1451
|
-
result = [val[0]
|
1873
|
+
module_eval(<<'.,.,', 'parser.y', 381)
|
1874
|
+
def _reduce_124(val, _values, result)
|
1875
|
+
result = val[1].unshift(val[0])
|
1452
1876
|
result
|
1453
1877
|
end
|
1454
1878
|
.,.,
|
1455
1879
|
|
1456
|
-
module_eval(<<'.,.,', 'parser.y',
|
1457
|
-
def
|
1458
|
-
|
1880
|
+
module_eval(<<'.,.,', 'parser.y', 384)
|
1881
|
+
def _reduce_125(val, _values, result)
|
1882
|
+
loc = val[0].location + val[3].last.location
|
1883
|
+
result = AST::Signature::Interface::Method.new(location: loc, name: val[1].value, types: val[3])
|
1884
|
+
|
1459
1885
|
result
|
1460
1886
|
end
|
1461
1887
|
.,.,
|
1462
1888
|
|
1463
|
-
|
1464
|
-
|
1465
|
-
|
1466
|
-
|
1467
|
-
# reduce 112 omitted
|
1468
|
-
|
1469
|
-
module_eval(<<'.,.,', 'parser.y', 154)
|
1470
|
-
def _reduce_113(val, _values, result)
|
1471
|
-
result = :any
|
1889
|
+
module_eval(<<'.,.,', 'parser.y', 388)
|
1890
|
+
def _reduce_126(val, _values, result)
|
1891
|
+
result = [val[0]]
|
1472
1892
|
result
|
1473
1893
|
end
|
1474
1894
|
.,.,
|
1475
1895
|
|
1476
|
-
module_eval(<<'.,.,', 'parser.y',
|
1477
|
-
def
|
1478
|
-
result =
|
1896
|
+
module_eval(<<'.,.,', 'parser.y', 389)
|
1897
|
+
def _reduce_127(val, _values, result)
|
1898
|
+
result = [val[0]] + val[2]
|
1479
1899
|
result
|
1480
1900
|
end
|
1481
1901
|
.,.,
|
1482
1902
|
|
1483
|
-
|
1484
|
-
def _reduce_115(val, _values, result)
|
1485
|
-
result = :end
|
1486
|
-
result
|
1487
|
-
end
|
1488
|
-
.,.,
|
1903
|
+
# reduce 128 omitted
|
1489
1904
|
|
1490
|
-
|
1491
|
-
|
1492
|
-
|
1905
|
+
# reduce 129 omitted
|
1906
|
+
|
1907
|
+
# reduce 130 omitted
|
1908
|
+
|
1909
|
+
# reduce 131 omitted
|
1910
|
+
|
1911
|
+
# reduce 132 omitted
|
1912
|
+
|
1913
|
+
# reduce 133 omitted
|
1914
|
+
|
1915
|
+
# reduce 134 omitted
|
1916
|
+
|
1917
|
+
# reduce 135 omitted
|
1918
|
+
|
1919
|
+
# reduce 136 omitted
|
1920
|
+
|
1921
|
+
# reduce 137 omitted
|
1922
|
+
|
1923
|
+
# reduce 138 omitted
|
1924
|
+
|
1925
|
+
# reduce 139 omitted
|
1926
|
+
|
1927
|
+
# reduce 140 omitted
|
1928
|
+
|
1929
|
+
# reduce 141 omitted
|
1930
|
+
|
1931
|
+
# reduce 142 omitted
|
1932
|
+
|
1933
|
+
# reduce 143 omitted
|
1934
|
+
|
1935
|
+
# reduce 144 omitted
|
1936
|
+
|
1937
|
+
# reduce 145 omitted
|
1938
|
+
|
1939
|
+
# reduce 146 omitted
|
1940
|
+
|
1941
|
+
# reduce 147 omitted
|
1942
|
+
|
1943
|
+
# reduce 148 omitted
|
1944
|
+
|
1945
|
+
# reduce 149 omitted
|
1946
|
+
|
1947
|
+
# reduce 150 omitted
|
1948
|
+
|
1949
|
+
# reduce 151 omitted
|
1950
|
+
|
1951
|
+
# reduce 152 omitted
|
1952
|
+
|
1953
|
+
module_eval(<<'.,.,', 'parser.y', 412)
|
1954
|
+
def _reduce_153(val, _values, result)
|
1955
|
+
result = LocatedValue.new(location: val[0].location, value: :|)
|
1493
1956
|
result
|
1494
1957
|
end
|
1495
1958
|
.,.,
|
1496
1959
|
|
1497
|
-
module_eval(<<'.,.,', 'parser.y',
|
1498
|
-
def
|
1499
|
-
result = :
|
1960
|
+
module_eval(<<'.,.,', 'parser.y', 413)
|
1961
|
+
def _reduce_154(val, _values, result)
|
1962
|
+
result = LocatedValue.new(location: val[0].location, value: :constructor)
|
1500
1963
|
result
|
1501
1964
|
end
|
1502
1965
|
.,.,
|
1503
1966
|
|
1504
|
-
module_eval(<<'.,.,', 'parser.y',
|
1505
|
-
def
|
1506
|
-
result = :
|
1967
|
+
module_eval(<<'.,.,', 'parser.y', 414)
|
1968
|
+
def _reduce_155(val, _values, result)
|
1969
|
+
result = LocatedValue.new(location: val[0].location, value: :noconstructor)
|
1507
1970
|
result
|
1508
1971
|
end
|
1509
1972
|
.,.,
|
1510
1973
|
|
1511
|
-
module_eval(<<'.,.,', 'parser.y',
|
1512
|
-
def
|
1513
|
-
|
1974
|
+
module_eval(<<'.,.,', 'parser.y', 416)
|
1975
|
+
def _reduce_156(val, _values, result)
|
1976
|
+
raise ParseError, "\nunexpected method name any ?" unless val[0].location.pred?(val[1].location)
|
1977
|
+
result = LocatedValue.new(location: val[0].location + val[1].location, value: :any?)
|
1978
|
+
|
1514
1979
|
result
|
1515
1980
|
end
|
1516
1981
|
.,.,
|
1517
1982
|
|
1518
|
-
|
1519
|
-
|
1520
|
-
|
1521
|
-
|
1522
|
-
|
1523
|
-
def _reduce_122(val, _values, result)
|
1524
|
-
result = :block
|
1983
|
+
module_eval(<<'.,.,', 'parser.y', 420)
|
1984
|
+
def _reduce_157(val, _values, result)
|
1985
|
+
raise ParseError, "\nunexpected method name > >" unless val[0].location.pred?(val[1].location)
|
1986
|
+
result = LocatedValue.new(location: val[0].location + val[1].location, value: :>>)
|
1987
|
+
|
1525
1988
|
result
|
1526
1989
|
end
|
1527
1990
|
.,.,
|
1528
1991
|
|
1529
|
-
module_eval(<<'.,.,', 'parser.y',
|
1530
|
-
def
|
1531
|
-
|
1992
|
+
module_eval(<<'.,.,', 'parser.y', 425)
|
1993
|
+
def _reduce_158(val, _values, result)
|
1994
|
+
loc = val.first.location + val.last.location
|
1995
|
+
result = AST::Annotation::VarType.new(location: loc,
|
1996
|
+
name: val[2].value,
|
1997
|
+
type: val[4])
|
1998
|
+
|
1532
1999
|
result
|
1533
2000
|
end
|
1534
2001
|
.,.,
|
1535
2002
|
|
1536
|
-
module_eval(<<'.,.,', 'parser.y',
|
1537
|
-
def
|
1538
|
-
|
2003
|
+
module_eval(<<'.,.,', 'parser.y', 431)
|
2004
|
+
def _reduce_159(val, _values, result)
|
2005
|
+
loc = val.first.location + val.last.location
|
2006
|
+
result = AST::Annotation::MethodType.new(location: loc,
|
2007
|
+
name: val[2].value,
|
2008
|
+
type: val[4])
|
2009
|
+
|
1539
2010
|
result
|
1540
2011
|
end
|
1541
2012
|
.,.,
|
1542
2013
|
|
1543
|
-
module_eval(<<'.,.,', 'parser.y',
|
1544
|
-
def
|
1545
|
-
|
2014
|
+
module_eval(<<'.,.,', 'parser.y', 437)
|
2015
|
+
def _reduce_160(val, _values, result)
|
2016
|
+
loc = val.first.location + val.last.location
|
2017
|
+
result = AST::Annotation::ReturnType.new(type: val[3], location: loc)
|
2018
|
+
|
1546
2019
|
result
|
1547
2020
|
end
|
1548
2021
|
.,.,
|
1549
2022
|
|
1550
|
-
module_eval(<<'.,.,', 'parser.y',
|
1551
|
-
def
|
1552
|
-
|
2023
|
+
module_eval(<<'.,.,', 'parser.y', 441)
|
2024
|
+
def _reduce_161(val, _values, result)
|
2025
|
+
loc = val.first.location + val.last.location
|
2026
|
+
result = AST::Annotation::BlockType.new(type: val[3], location: loc)
|
2027
|
+
|
1553
2028
|
result
|
1554
2029
|
end
|
1555
2030
|
.,.,
|
1556
2031
|
|
1557
|
-
module_eval(<<'.,.,', 'parser.y',
|
1558
|
-
def
|
1559
|
-
|
2032
|
+
module_eval(<<'.,.,', 'parser.y', 445)
|
2033
|
+
def _reduce_162(val, _values, result)
|
2034
|
+
loc = val.first.location + val.last.location
|
2035
|
+
result = AST::Annotation::SelfType.new(type: val[3], location: loc)
|
2036
|
+
|
1560
2037
|
result
|
1561
2038
|
end
|
1562
2039
|
.,.,
|
1563
2040
|
|
1564
|
-
module_eval(<<'.,.,', 'parser.y',
|
1565
|
-
def
|
1566
|
-
|
2041
|
+
module_eval(<<'.,.,', 'parser.y', 449)
|
2042
|
+
def _reduce_163(val, _values, result)
|
2043
|
+
loc = val.first.location + val.last.location
|
2044
|
+
result = AST::Annotation::ConstType.new(name: val[2].value,
|
2045
|
+
type: val[4],
|
2046
|
+
location: loc)
|
2047
|
+
|
1567
2048
|
result
|
1568
2049
|
end
|
1569
2050
|
.,.,
|
1570
2051
|
|
1571
|
-
module_eval(<<'.,.,', 'parser.y',
|
1572
|
-
def
|
1573
|
-
|
2052
|
+
module_eval(<<'.,.,', 'parser.y', 455)
|
2053
|
+
def _reduce_164(val, _values, result)
|
2054
|
+
loc = val.first.location + val.last.location
|
2055
|
+
result = AST::Annotation::InstanceType.new(type: val[3], location: loc)
|
2056
|
+
|
1574
2057
|
result
|
1575
2058
|
end
|
1576
2059
|
.,.,
|
1577
2060
|
|
1578
|
-
module_eval(<<'.,.,', 'parser.y',
|
1579
|
-
def
|
1580
|
-
|
2061
|
+
module_eval(<<'.,.,', 'parser.y', 459)
|
2062
|
+
def _reduce_165(val, _values, result)
|
2063
|
+
loc = val.first.location + val.last.location
|
2064
|
+
result = AST::Annotation::ModuleType.new(type: val[3], location: loc)
|
2065
|
+
|
1581
2066
|
result
|
1582
2067
|
end
|
1583
2068
|
.,.,
|
1584
2069
|
|
1585
|
-
module_eval(<<'.,.,', 'parser.y',
|
1586
|
-
def
|
1587
|
-
|
2070
|
+
module_eval(<<'.,.,', 'parser.y', 463)
|
2071
|
+
def _reduce_166(val, _values, result)
|
2072
|
+
loc = val.first.location + val.last.location
|
2073
|
+
result = AST::Annotation::IvarType.new(name: val[2].value, type: val[4], location: loc)
|
2074
|
+
|
1588
2075
|
result
|
1589
2076
|
end
|
1590
2077
|
.,.,
|
1591
2078
|
|
1592
|
-
module_eval(<<'.,.,', 'parser.y',
|
1593
|
-
def
|
1594
|
-
|
2079
|
+
module_eval(<<'.,.,', 'parser.y', 467)
|
2080
|
+
def _reduce_167(val, _values, result)
|
2081
|
+
loc = val[0].location + (val[2]&.location || val[1].location)
|
2082
|
+
args = val[2]&.variables || []
|
2083
|
+
name = AST::Annotation::Implements::Module.new(name: val[1].value, args: args)
|
2084
|
+
result = AST::Annotation::Implements.new(name: name, location: loc)
|
2085
|
+
|
1595
2086
|
result
|
1596
2087
|
end
|
1597
2088
|
.,.,
|
1598
2089
|
|
1599
|
-
module_eval(<<'.,.,', 'parser.y',
|
1600
|
-
def
|
1601
|
-
|
2090
|
+
module_eval(<<'.,.,', 'parser.y', 473)
|
2091
|
+
def _reduce_168(val, _values, result)
|
2092
|
+
loc = val[0].location + val[1].last.location
|
2093
|
+
result = AST::Annotation::Dynamic.new(names: val[1], location: loc)
|
2094
|
+
|
1602
2095
|
result
|
1603
2096
|
end
|
1604
2097
|
.,.,
|
1605
2098
|
|
1606
|
-
module_eval(<<'.,.,', 'parser.y',
|
1607
|
-
def
|
1608
|
-
|
2099
|
+
module_eval(<<'.,.,', 'parser.y', 477)
|
2100
|
+
def _reduce_169(val, _values, result)
|
2101
|
+
loc = val.first.location + val.last.location
|
2102
|
+
result = AST::Annotation::BreakType.new(type: val[3], location: loc)
|
2103
|
+
|
1609
2104
|
result
|
1610
2105
|
end
|
1611
2106
|
.,.,
|
1612
2107
|
|
1613
|
-
module_eval(<<'.,.,', 'parser.y',
|
1614
|
-
def
|
1615
|
-
result =
|
2108
|
+
module_eval(<<'.,.,', 'parser.y', 481)
|
2109
|
+
def _reduce_170(val, _values, result)
|
2110
|
+
result = [val[0]] + val[2]
|
1616
2111
|
result
|
1617
2112
|
end
|
1618
2113
|
.,.,
|
1619
2114
|
|
1620
|
-
module_eval(<<'.,.,', 'parser.y',
|
1621
|
-
def
|
1622
|
-
result =
|
2115
|
+
module_eval(<<'.,.,', 'parser.y', 482)
|
2116
|
+
def _reduce_171(val, _values, result)
|
2117
|
+
result = val
|
1623
2118
|
result
|
1624
2119
|
end
|
1625
2120
|
.,.,
|
1626
2121
|
|
1627
|
-
module_eval(<<'.,.,', 'parser.y',
|
1628
|
-
def
|
1629
|
-
|
2122
|
+
module_eval(<<'.,.,', 'parser.y', 485)
|
2123
|
+
def _reduce_172(val, _values, result)
|
2124
|
+
result = AST::Annotation::Dynamic::Name.new(name: val[0].value, location: val[0].location, kind: :instance)
|
2125
|
+
|
1630
2126
|
result
|
1631
2127
|
end
|
1632
2128
|
.,.,
|
1633
2129
|
|
1634
|
-
module_eval(<<'.,.,', 'parser.y',
|
1635
|
-
def
|
1636
|
-
|
2130
|
+
module_eval(<<'.,.,', 'parser.y', 488)
|
2131
|
+
def _reduce_173(val, _values, result)
|
2132
|
+
loc = val.first.location + val.last.location
|
2133
|
+
result = AST::Annotation::Dynamic::Name.new(name: val[2].value, location: loc, kind: :module)
|
2134
|
+
|
1637
2135
|
result
|
1638
2136
|
end
|
1639
2137
|
.,.,
|
1640
2138
|
|
1641
|
-
module_eval(<<'.,.,', 'parser.y',
|
1642
|
-
def
|
1643
|
-
|
2139
|
+
module_eval(<<'.,.,', 'parser.y', 492)
|
2140
|
+
def _reduce_174(val, _values, result)
|
2141
|
+
loc = val.first.location + val.last.location
|
2142
|
+
result = AST::Annotation::Dynamic::Name.new(name: val[2].value, location: loc, kind: :module_instance)
|
2143
|
+
|
1644
2144
|
result
|
1645
2145
|
end
|
1646
2146
|
.,.,
|
1647
2147
|
|
1648
|
-
module_eval(<<'.,.,', 'parser.y',
|
1649
|
-
def
|
2148
|
+
module_eval(<<'.,.,', 'parser.y', 496)
|
2149
|
+
def _reduce_175(val, _values, result)
|
1650
2150
|
result = val[0]
|
1651
2151
|
result
|
1652
2152
|
end
|