steep 0.1.0.pre2 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +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
|