steep 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +12 -0
  3. data/LICENSE +21 -0
  4. data/bin/smoke_runner.rb +3 -0
  5. data/lib/steep/ast/annotation/collection.rb +120 -43
  6. data/lib/steep/ast/annotation.rb +5 -10
  7. data/lib/steep/ast/location.rb +1 -1
  8. data/lib/steep/ast/method_type.rb +3 -1
  9. data/lib/steep/ast/signature/alias.rb +19 -0
  10. data/lib/steep/ast/signature/env.rb +9 -0
  11. data/lib/steep/ast/signature/members.rb +4 -0
  12. data/lib/steep/ast/types/proc.rb +79 -0
  13. data/lib/steep/ast/types/void.rb +4 -0
  14. data/lib/steep/cli.rb +2 -1
  15. data/lib/steep/drivers/check.rb +4 -1
  16. data/lib/steep/errors.rb +13 -0
  17. data/lib/steep/interface/builder.rb +90 -47
  18. data/lib/steep/interface/instantiated.rb +1 -1
  19. data/lib/steep/interface/method.rb +8 -0
  20. data/lib/steep/interface/method_type.rb +40 -13
  21. data/lib/steep/parser.rb +1098 -1043
  22. data/lib/steep/parser.y +94 -36
  23. data/lib/steep/source.rb +5 -6
  24. data/lib/steep/subtyping/check.rb +162 -47
  25. data/lib/steep/subtyping/variable_occurrence.rb +2 -2
  26. data/lib/steep/subtyping/variable_variance.rb +3 -3
  27. data/lib/steep/type_construction.rb +630 -300
  28. data/lib/steep/type_inference/block_params.rb +186 -35
  29. data/lib/steep/type_inference/send_args.rb +12 -3
  30. data/lib/steep/type_inference/type_env.rb +10 -4
  31. data/lib/steep/type_name.rb +6 -0
  32. data/lib/steep/typing.rb +21 -2
  33. data/lib/steep/version.rb +1 -1
  34. data/lib/steep.rb +2 -0
  35. data/smoke/alias/a.rb +19 -0
  36. data/smoke/alias/a.rbi +10 -0
  37. data/smoke/alias/b.rb +7 -0
  38. data/smoke/alias/c.rb +10 -0
  39. data/smoke/array/c.rb +7 -0
  40. data/smoke/block/c.rb +10 -0
  41. data/smoke/block/c.rbi +3 -0
  42. data/smoke/block/d.rb +15 -0
  43. data/smoke/class/c.rb +1 -1
  44. data/smoke/class/e.rb +1 -1
  45. data/smoke/class/h.rb +15 -0
  46. data/smoke/class/h.rbi +7 -0
  47. data/smoke/class/i.rb +17 -0
  48. data/smoke/class/i.rbi +9 -0
  49. data/smoke/extension/a.rbi +4 -0
  50. data/smoke/extension/d.rb +2 -0
  51. data/smoke/hash/a.rb +17 -0
  52. data/smoke/hash/b.rb +7 -0
  53. data/smoke/implements/a.rb +2 -2
  54. data/smoke/initialize/a.rb +1 -1
  55. data/smoke/lambda/a.rb +11 -0
  56. data/smoke/literal/b.rb +9 -0
  57. data/smoke/literal/literal_methods.rbi +4 -0
  58. data/smoke/method/c.rb +5 -0
  59. data/smoke/regression/array.rb +7 -0
  60. data/smoke/regression/hash.rb +7 -0
  61. data/smoke/regression/set_divide.rb +16 -0
  62. data/smoke/self/a.rb +2 -2
  63. data/stdlib/builtin.rbi +151 -1
  64. data/steep.gemspec +1 -0
  65. metadata +30 -4
data/lib/steep/parser.rb CHANGED
@@ -8,7 +8,7 @@ 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', 553)
11
+ module_eval(<<'...end parser.y/module_eval...', 'parser.y', 603)
12
12
 
13
13
  require "strscan"
14
14
 
@@ -83,7 +83,7 @@ def next_token
83
83
  when input.scan(/\?/)
84
84
  new_token(:QUESTION)
85
85
  when input.scan(/!/)
86
- new_token(:BANG)
86
+ new_token(:BANG, :!)
87
87
  when input.scan(/\(/)
88
88
  new_token(:LPAREN, nil)
89
89
  when input.scan(/\)/)
@@ -110,7 +110,9 @@ def next_token
110
110
  new_token(:DOT)
111
111
  when input.scan(/<:/)
112
112
  new_token(:LTCOLON)
113
- when input.scan(/(\[\]=)|(\[\])|===|==|\^|!=|<</)
113
+ when input.scan(/\^/)
114
+ new_token(:HAT, :"^")
115
+ when input.scan(/(\[\]=)|(\[\])|===|==|!=|<<|=~/)
114
116
  new_token(:OPERATOR, input.matched.to_sym)
115
117
  when input.scan(/\[/)
116
118
  new_token(:LBRACKET, nil)
@@ -134,12 +136,18 @@ def next_token
134
136
  new_token(:ANY, :any)
135
137
  when input.scan(/void\b/)
136
138
  new_token(:VOID, :void)
139
+ when input.scan(/type\b/)
140
+ new_token(:TYPE, :type)
137
141
  when input.scan(/interface\b/)
138
142
  new_token(:INTERFACE, :interface)
143
+ when input.scan(/incompatible\b/)
144
+ new_token(:INCOMPATIBLE, :incompatible)
139
145
  when input.scan(/end\b/)
140
146
  new_token(:END, :end)
141
147
  when input.scan(/\|/)
142
148
  new_token(:BAR, :bar)
149
+ when input.scan(/-@/)
150
+ new_token(:UMINUS, :"-@")
143
151
  when input.scan(/def\b/)
144
152
  new_token(:DEF)
145
153
  when input.scan(/@type\b/)
@@ -197,9 +205,9 @@ def next_token
197
205
  when input.scan(/extension\b/)
198
206
  new_token(:EXTENSION, :extension)
199
207
  when input.scan(/constructor\b/)
200
- new_token(:CONSTRUCTOR, true)
208
+ new_token(:CONSTRUCTOR, :constructor)
201
209
  when input.scan(/noconstructor\b/)
202
- new_token(:NOCONSTRUCTOR, false)
210
+ new_token(:NOCONSTRUCTOR, :noconstructor)
203
211
  when input.scan(/\$\w+\b/)
204
212
  new_token(:GVAR, input.matched.to_sym)
205
213
  when input.scan(/[A-Z]\w*/)
@@ -212,744 +220,621 @@ def next_token
212
220
  new_token(:INT, input.matched.to_i)
213
221
  when input.scan(/\"[^\"]*\"/)
214
222
  new_token(:STRING, input.matched[1...-1])
215
- when input.scan(/\w+/)
216
- new_token(:IDENT, input.matched.to_sym)
223
+ when input.scan(/[a-z]\w*/)
224
+ new_token(:LIDENT, input.matched.to_sym)
217
225
  end
218
226
  end
219
227
  ...end parser.y/module_eval...
220
228
  ##### State transition tables begin ###
221
229
 
222
- racc_action_table = [
223
- 87, 196, 86, 331, 25, 24, 90, 91, 97, 194,
224
- 102, 103, 104, 27, 98, 316, 112, 28, 29, 25,
225
- 24, 123, 317, 96, 319, 113, 114, 92, 93, 95,
226
- 109, 106, 123, 319, 99, 100, 323, 94, 324, 179,
227
- 325, 105, 115, 116, 332, 88, 89, 124, 108, 101,
228
- 107, 110, 111, 87, 326, 86, 233, 234, 124, 90,
229
- 91, 97, 327, 102, 103, 104, 313, 98, 330, 112,
230
- 314, 2, 3, 4, 5, 333, 96, 334, 113, 114,
231
- 92, 93, 95, 109, 106, 178, 180, 99, 100, 335,
232
- 94, 239, 144, 9, 105, 115, 116, 9, 88, 89,
233
- 340, 108, 101, 107, 110, 111, 87, 341, 86, 191,
234
- 192, 343, 90, 91, 97, 275, 102, 103, 104, 345,
235
- 98, 346, 112, 273, 274, 276, 277, 278, 9, 96,
236
- 9, 113, 114, 92, 93, 95, 109, 106, 25, 24,
237
- 99, 100, 6, 94, 25, 24, 9, 105, 115, 116,
238
- 53, 88, 89, 58, 108, 101, 107, 110, 111, 87,
239
- 65, 86, 25, 24, 66, 90, 91, 97, 68, 102,
240
- 103, 104, 120, 98, 25, 112, 121, 25, 24, 25,
241
- 24, 73, 96, 122, 113, 114, 92, 93, 95, 109,
242
- 106, 25, 24, 99, 100, 128, 94, 130, 123, 157,
243
- 105, 115, 116, 158, 88, 89, 9, 108, 101, 107,
244
- 110, 111, 87, 9, 86, 9, 9, 25, 90, 91,
245
- 97, 275, 102, 103, 104, 167, 98, 167, 112, 273,
246
- 274, 276, 277, 278, 169, 96, 170, 113, 114, 92,
247
- 93, 95, 109, 106, 171, 173, 99, 100, 174, 94,
248
- 175, 176, 9, 105, 115, 116, 181, 88, 89, 182,
249
- 108, 101, 107, 110, 111, 87, 183, 86, 184, 188,
250
- 189, 90, 91, 97, 275, 102, 103, 104, 190, 98,
251
- 193, 112, 273, 274, 276, 277, 278, 197, 96, 198,
252
- 113, 114, 92, 93, 95, 109, 106, 199, 200, 99,
253
- 100, 201, 94, 202, 207, -80, 105, 115, 116, -81,
254
- 88, 89, -82, 108, 101, 107, 110, 111, 87, -83,
255
- 86, -87, -79, 58, 90, 91, 97, 275, 102, 103,
256
- 104, 211, 98, 213, 112, 273, 274, 276, 277, 278,
257
- 215, 96, 216, 113, 114, 92, 93, 95, 109, 106,
258
- 217, 218, 99, 100, 222, 94, 225, 230, 238, 105,
259
- 115, 116, 258, 88, 89, 260, 108, 101, 107, 110,
260
- 111, 87, 211, 86, 283, 9, 123, 90, 91, 97,
261
- 289, 102, 103, 104, 120, 98, 290, 112, 121, 291,
262
- 293, 294, 296, 298, 96, 303, 113, 114, 92, 93,
263
- 95, 109, 106, 304, 305, 99, 100, 306, 94, 9,
264
- 315, nil, 105, 115, 116, nil, 88, 89, nil, 108,
265
- 101, 107, 110, 111, 87, nil, 86, nil, nil, nil,
266
- 90, 91, 97, nil, 102, 103, 104, nil, 98, nil,
267
- 112, nil, nil, nil, nil, nil, nil, 96, nil, 113,
268
- 114, 92, 93, 95, 109, 106, nil, nil, 99, 100,
269
- nil, 94, nil, nil, nil, 105, 115, 116, nil, 88,
270
- 89, nil, 108, 101, 107, 110, 111, 87, nil, 86,
271
- nil, nil, nil, 90, 91, 97, nil, 102, 103, 104,
272
- nil, 98, nil, 112, 81, 80, 78, nil, nil, nil,
273
- 96, nil, 113, 114, 92, 93, 95, 109, 106, nil,
274
- nil, 99, 100, 77, 94, 82, nil, nil, 105, 115,
275
- 116, nil, 88, 89, nil, 108, 101, 107, 110, 111,
276
- 48, nil, nil, nil, 83, 75, nil, 74, 76, 79,
277
- nil, 33, 34, 35, 36, 37, 38, 39, 40, 41,
278
- 43, 44, 45, 46, 47, nil, 50, nil, nil, nil,
279
- nil, 48, nil, nil, nil, nil, nil, 20, 21, nil,
280
- 25, 24, 33, 34, 35, 36, 37, 38, 39, 40,
281
- 41, 43, 44, 45, 46, 47, nil, 50, nil, nil,
282
- 17, 19, 48, 22, 25, 24, nil, nil, 20, 21,
283
- nil, 25, 24, 33, 34, 35, 36, 37, 38, 39,
284
- 40, 41, 43, 44, 45, 46, 47, nil, 50, nil,
285
- nil, 17, 19, 48, 22, 25, 24, 239, 144, nil,
286
- nil, nil, 25, 24, 33, 34, 35, 36, 37, 38,
287
- 39, 40, 41, 43, 44, 45, 46, 47, nil, 50,
288
- nil, nil, nil, nil, 48, nil, nil, 141, 143, 144,
289
- nil, nil, nil, 25, 24, 146, 34, 147, 148, 149,
290
- 150, 39, 40, 41, 43, 44, 45, 46, 47, nil,
291
- 151, nil, nil, nil, nil, 152, 153, 154, 155, 156,
292
- 48, nil, nil, nil, 25, 24, 20, 21, nil, nil,
293
- nil, 33, 34, 35, 36, 37, 38, 39, 40, 41,
294
- 43, 44, 45, 46, 47, nil, 50, nil, nil, 17,
295
- 19, 48, 22, 25, 24, nil, nil, 20, 21, nil,
296
- 25, 24, 33, 34, 35, 36, 37, 38, 39, 40,
297
- 41, 43, 44, 45, 46, 47, nil, 50, nil, nil,
298
- 17, 19, 48, 22, 25, 24, nil, nil, 20, 21,
299
- nil, 25, 24, 33, 34, 35, 36, 37, 38, 39,
300
- 40, 41, 43, 44, 45, 46, 47, nil, 50, nil,
301
- nil, 17, 19, 48, 22, 25, 24, nil, nil, 20,
302
- 21, nil, 25, 24, 33, 34, 35, 36, 37, 38,
303
- 39, 40, 41, 43, 44, 45, 46, 47, nil, 50,
304
- nil, nil, 17, 19, 55, 22, 25, 24, nil, nil,
305
- 20, 21, nil, 25, 24, 33, 34, 35, 36, 37,
306
- 38, 39, 40, 41, 43, 44, 45, 46, 47, nil,
307
- 50, nil, nil, 17, 19, 48, 22, 25, 24, nil,
308
- nil, nil, nil, nil, 25, 24, 33, 34, 35, 36,
309
- 37, 38, 39, 40, 41, 43, 44, 45, 46, 47,
310
- nil, 50, nil, nil, nil, nil, 48, nil, nil, nil,
311
- nil, nil, nil, nil, nil, 25, 24, 33, 34, 35,
312
- 36, 37, 38, 39, 40, 41, 43, 44, 45, 46,
313
- 47, nil, 50, nil, nil, nil, nil, 48, nil, nil,
314
- nil, nil, nil, nil, nil, nil, 25, 24, 33, 34,
315
- 35, 36, 37, 38, 39, 40, 41, 43, 44, 45,
316
- 46, 47, nil, 50, nil, nil, nil, nil, 48, nil,
317
- nil, nil, nil, nil, nil, nil, nil, 25, 24, 33,
318
- 34, 35, 36, 37, 38, 39, 40, 41, 43, 44,
319
- 45, 46, 47, nil, 50, nil, nil, nil, nil, 48,
320
- nil, nil, nil, nil, nil, nil, nil, nil, 25, 24,
321
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 43,
322
- 44, 45, 46, 47, nil, 50, nil, nil, nil, nil,
323
- 48, nil, nil, nil, nil, nil, nil, nil, nil, 25,
324
- 24, 33, 34, 35, 36, 37, 38, 39, 40, 41,
325
- 43, 44, 45, 46, 47, nil, 50, nil, nil, nil,
326
- nil, 48, nil, nil, nil, nil, nil, nil, nil, nil,
327
- 25, 24, 146, 34, 147, 148, 149, 150, 39, 40,
328
- 41, 43, 44, 45, 46, 47, nil, 151, nil, nil,
329
- nil, nil, 152, 153, 154, 155, 156, 48, nil, nil,
330
- nil, 25, 24, nil, nil, nil, nil, nil, 33, 34,
331
- 35, 36, 37, 38, 39, 40, 41, 43, 44, 45,
332
- 46, 47, nil, 50, nil, nil, nil, nil, 48, nil,
333
- nil, nil, 239, 144, nil, nil, nil, 25, 24, 33,
334
- 34, 35, 36, 37, 38, 39, 40, 41, 43, 44,
335
- 45, 46, 47, nil, 50, nil, nil, nil, nil, 48,
336
- nil, nil, nil, nil, nil, nil, nil, nil, 25, 24,
337
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 43,
338
- 44, 45, 46, 47, nil, 50, nil, nil, nil, nil,
339
- 48, nil, nil, nil, nil, nil, nil, nil, nil, 25,
340
- 24, 33, 34, 35, 36, 37, 38, 39, 40, 41,
341
- 43, 44, 45, 46, 47, nil, 50, nil, nil, nil,
342
- nil, 48, nil, nil, nil, nil, nil, nil, nil, nil,
343
- 25, 24, 33, 34, 35, 36, 37, 38, 39, 40,
344
- 41, 43, 44, 45, 46, 47, nil, 50, nil, nil,
345
- nil, nil, 48, nil, nil, nil, nil, nil, nil, nil,
346
- nil, 25, 24, 33, 34, 35, 36, 37, 38, 39,
347
- 40, 41, 43, 44, 45, 46, 47, nil, 50, nil,
348
- nil, nil, nil, 48, nil, nil, 141, 143, 144, nil,
349
- nil, nil, 25, 24, 146, 34, 147, 148, 149, 150,
350
- 39, 40, 41, 43, 44, 45, 46, 47, nil, 151,
351
- nil, nil, nil, nil, 152, 153, 154, 155, 156, 48,
352
- nil, nil, nil, 25, 24, nil, nil, nil, nil, nil,
353
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 43,
354
- 44, 45, 46, 47, nil, 50, nil, nil, nil, nil,
355
- 48, nil, nil, nil, nil, nil, nil, nil, nil, 25,
356
- 24, 33, 34, 35, 36, 37, 38, 39, 40, 41,
357
- 43, 44, 45, 46, 47, nil, 50, nil, nil, nil,
358
- nil, 48, nil, nil, nil, nil, nil, nil, nil, nil,
359
- 25, 24, 33, 34, 35, 36, 37, 38, 39, 40,
360
- 41, 43, 44, 45, 46, 47, nil, 50, nil, nil,
361
- nil, nil, 48, nil, nil, nil, nil, nil, nil, nil,
362
- nil, 25, 24, 33, 34, 35, 36, 37, 38, 39,
363
- 40, 41, 43, 44, 45, 46, 47, nil, 50, nil,
364
- nil, nil, nil, 48, nil, nil, nil, nil, nil, nil,
365
- nil, nil, 25, 24, 33, 34, 35, 36, 37, 38,
366
- 39, 40, 41, 43, 44, 45, 46, 47, nil, 50,
367
- nil, nil, nil, nil, 48, nil, nil, nil, nil, nil,
368
- nil, nil, nil, 25, 24, 33, 34, 35, 36, 37,
369
- 38, 39, 40, 41, 43, 44, 45, 46, 47, nil,
370
- 50, nil, nil, nil, nil, 48, nil, nil, nil, nil,
371
- nil, nil, nil, nil, 25, 24, 33, 34, 35, 36,
372
- 37, 38, 39, 40, 41, 43, 44, 45, 46, 47,
373
- nil, 50, nil, nil, nil, nil, 48, nil, nil, nil,
374
- nil, nil, nil, nil, nil, 25, 24, 33, 34, 35,
375
- 36, 37, 38, 39, 40, 41, 43, 44, 45, 46,
376
- 47, nil, 50, nil, nil, nil, nil, 48, nil, nil,
377
- nil, nil, nil, nil, nil, nil, 25, 24, 33, 34,
378
- 35, 36, 37, 38, 39, 40, 41, 43, 44, 45,
379
- 46, 47, nil, 50, nil, nil, nil, nil, 48, nil,
380
- nil, nil, nil, nil, nil, nil, nil, 25, 24, 33,
381
- 34, 35, 36, 37, 38, 39, 40, 41, 43, 44,
382
- 45, 46, 47, nil, 50, nil, nil, nil, nil, 48,
383
- nil, nil, nil, nil, nil, nil, nil, nil, 25, 24,
384
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 43,
385
- 44, 45, 46, 47, nil, 50, nil, nil, nil, nil,
386
- 48, nil, nil, nil, nil, nil, nil, nil, nil, 25,
387
- 24, 33, 34, 35, 36, 37, 38, 39, 40, 41,
388
- 43, 44, 45, 46, 47, nil, 50, nil, nil, nil,
389
- nil, nil, nil, nil, 141, 143, 144, nil, nil, nil,
390
- 25, 24, 249, nil, 250, 251, 252, 253, 141, 255,
391
- nil, nil, nil, nil, nil, nil, 249, 248, 250, 251,
392
- 252, 253, 152, 153, 154, 155, 156, nil, nil, nil,
393
- nil, 248, nil, 141, 255, nil, 152, 153, 154, 155,
394
- 156, 249, nil, 250, 251, 252, 253, 141, 255, nil,
395
- nil, nil, nil, nil, nil, 249, 248, 250, 251, 252,
396
- 253, 152, 153, 154, 155, 156, nil, nil, nil, nil,
397
- 248, nil, nil, nil, nil, 152, 153, 154, 155, 156,
398
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 43,
399
- 44, 45, 46, 47, nil, 50, 249, nil, 250, 251,
400
- 252, 253, nil, nil, nil, nil, nil, nil, nil, 25,
401
- 24, 248, nil, nil, nil, nil, 152, 153, 154, 155,
402
- 156 ]
403
-
404
- racc_action_check = [
405
- 183, 130, 183, 319, 22, 22, 183, 183, 183, 130,
406
- 183, 183, 183, 4, 183, 299, 183, 4, 4, 21,
407
- 21, 186, 300, 183, 301, 183, 183, 183, 183, 183,
408
- 183, 183, 42, 302, 183, 183, 310, 183, 312, 85,
409
- 313, 183, 183, 183, 319, 183, 183, 186, 183, 183,
410
- 183, 183, 183, 297, 314, 297, 191, 191, 42, 297,
411
- 297, 297, 315, 297, 297, 297, 297, 297, 318, 297,
412
- 297, 0, 0, 0, 0, 320, 297, 321, 297, 297,
413
- 297, 297, 297, 297, 297, 85, 85, 297, 297, 322,
414
- 297, 291, 291, 323, 297, 297, 297, 324, 297, 297,
415
- 328, 297, 297, 297, 297, 297, 211, 329, 211, 128,
416
- 128, 332, 211, 211, 211, 212, 211, 211, 211, 338,
417
- 211, 339, 211, 212, 212, 212, 212, 212, 345, 211,
418
- 346, 211, 211, 211, 211, 211, 211, 211, 275, 275,
419
- 211, 211, 1, 211, 276, 276, 2, 211, 211, 211,
420
- 6, 211, 211, 9, 211, 211, 211, 211, 211, 29,
421
- 17, 29, 213, 213, 18, 29, 29, 29, 19, 29,
422
- 29, 29, 29, 29, 24, 29, 29, 28, 28, 20,
423
- 20, 25, 29, 32, 29, 29, 29, 29, 29, 29,
424
- 29, 79, 79, 29, 29, 49, 29, 54, 56, 57,
425
- 29, 29, 29, 58, 29, 29, 67, 29, 29, 29,
426
- 29, 29, 325, 69, 325, 70, 71, 73, 325, 325,
427
- 325, 305, 325, 325, 325, 74, 325, 75, 325, 305,
428
- 305, 305, 305, 305, 76, 325, 77, 325, 325, 325,
429
- 325, 325, 325, 325, 78, 80, 325, 325, 81, 325,
430
- 82, 83, 84, 325, 325, 325, 91, 325, 325, 118,
431
- 325, 325, 325, 325, 325, 184, 120, 184, 121, 125,
432
- 126, 184, 184, 184, 214, 184, 184, 184, 127, 184,
433
- 129, 184, 214, 214, 214, 214, 214, 131, 184, 132,
434
- 184, 184, 184, 184, 184, 184, 184, 134, 136, 184,
435
- 184, 138, 184, 139, 145, 146, 184, 184, 184, 147,
436
- 184, 184, 148, 184, 184, 184, 184, 184, 278, 149,
437
- 278, 150, 151, 158, 278, 278, 278, 264, 278, 278,
438
- 278, 161, 278, 162, 278, 264, 264, 264, 264, 264,
439
- 163, 278, 164, 278, 278, 278, 278, 278, 278, 278,
440
- 166, 168, 278, 278, 172, 278, 175, 185, 195, 278,
441
- 278, 278, 205, 278, 278, 209, 278, 278, 278, 278,
442
- 278, 182, 210, 182, 216, 218, 237, 182, 182, 182,
443
- 240, 182, 182, 182, 182, 182, 241, 182, 182, 243,
444
- 262, 263, 273, 274, 182, 280, 182, 182, 182, 182,
445
- 182, 182, 182, 281, 283, 182, 182, 288, 182, 293,
446
- 298, nil, 182, 182, 182, nil, 182, 182, nil, 182,
447
- 182, 182, 182, 182, 277, nil, 277, nil, nil, nil,
448
- 277, 277, 277, nil, 277, 277, 277, nil, 277, nil,
449
- 277, nil, nil, nil, nil, nil, nil, 277, nil, 277,
450
- 277, 277, 277, 277, 277, 277, nil, nil, 277, 277,
451
- nil, 277, nil, nil, nil, 277, 277, 277, nil, 277,
452
- 277, nil, 277, 277, 277, 277, 277, 326, nil, 326,
453
- nil, nil, nil, 326, 326, 326, nil, 326, 326, 326,
454
- nil, 326, nil, 326, 27, 27, 27, nil, nil, nil,
455
- 326, nil, 326, 326, 326, 326, 326, 326, 326, nil,
456
- nil, 326, 326, 27, 326, 27, nil, nil, 326, 326,
457
- 326, nil, 326, 326, nil, 326, 326, 326, 326, 326,
458
- 169, nil, nil, nil, 27, 27, nil, 27, 27, 27,
459
- nil, 169, 169, 169, 169, 169, 169, 169, 169, 169,
460
- 169, 169, 169, 169, 169, nil, 169, nil, nil, nil,
461
- nil, 193, nil, nil, nil, nil, nil, 11, 11, nil,
462
- 169, 169, 193, 193, 193, 193, 193, 193, 193, 193,
463
- 193, 193, 193, 193, 193, 193, nil, 193, nil, nil,
464
- 11, 11, 65, 11, 11, 11, nil, nil, 13, 13,
465
- nil, 193, 193, 65, 65, 65, 65, 65, 65, 65,
466
- 65, 65, 65, 65, 65, 65, 65, nil, 65, nil,
467
- nil, 13, 13, 196, 13, 13, 13, 196, 196, nil,
468
- nil, nil, 65, 65, 196, 196, 196, 196, 196, 196,
469
- 196, 196, 196, 196, 196, 196, 196, 196, nil, 196,
470
- nil, nil, nil, nil, 198, nil, nil, 198, 198, 198,
471
- nil, nil, nil, 196, 196, 198, 198, 198, 198, 198,
472
- 198, 198, 198, 198, 198, 198, 198, 198, 198, nil,
473
- 198, nil, nil, nil, nil, 198, 198, 198, 198, 198,
474
- 66, nil, nil, nil, 198, 198, 14, 14, nil, nil,
475
- nil, 66, 66, 66, 66, 66, 66, 66, 66, 66,
476
- 66, 66, 66, 66, 66, nil, 66, nil, nil, 14,
477
- 14, 207, 14, 14, 14, nil, nil, 15, 15, nil,
478
- 66, 66, 207, 207, 207, 207, 207, 207, 207, 207,
479
- 207, 207, 207, 207, 207, 207, nil, 207, nil, nil,
480
- 15, 15, 215, 15, 15, 15, nil, nil, 3, 3,
481
- nil, 207, 207, 215, 215, 215, 215, 215, 215, 215,
482
- 215, 215, 215, 215, 215, 215, 215, nil, 215, nil,
483
- nil, 3, 3, 217, 3, 3, 3, nil, nil, 16,
484
- 16, nil, 215, 215, 217, 217, 217, 217, 217, 217,
485
- 217, 217, 217, 217, 217, 217, 217, 217, nil, 217,
486
- nil, nil, 16, 16, 8, 16, 16, 16, nil, nil,
487
- 12, 12, nil, 217, 217, 8, 8, 8, 8, 8,
488
- 8, 8, 8, 8, 8, 8, 8, 8, 8, nil,
489
- 8, nil, nil, 12, 12, 222, 12, 12, 12, nil,
490
- nil, nil, nil, nil, 8, 8, 222, 222, 222, 222,
491
- 222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
492
- nil, 222, nil, nil, nil, nil, 225, nil, nil, nil,
493
- nil, nil, nil, nil, nil, 222, 222, 225, 225, 225,
494
- 225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
495
- 225, nil, 225, nil, nil, nil, nil, 238, nil, nil,
496
- nil, nil, nil, nil, nil, nil, 225, 225, 238, 238,
497
- 238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
498
- 238, 238, nil, 238, nil, nil, nil, nil, 239, nil,
499
- nil, nil, nil, nil, nil, nil, nil, 238, 238, 239,
500
- 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
501
- 239, 239, 239, nil, 239, nil, nil, nil, nil, 258,
502
- nil, nil, nil, nil, nil, nil, nil, nil, 239, 239,
503
- 258, 258, 258, 258, 258, 258, 258, 258, 258, 258,
504
- 258, 258, 258, 258, nil, 258, nil, nil, nil, nil,
505
- 141, nil, nil, nil, nil, nil, nil, nil, nil, 258,
506
- 258, 141, 141, 141, 141, 141, 141, 141, 141, 141,
507
- 141, 141, 141, 141, 141, nil, 141, nil, nil, nil,
508
- nil, 143, nil, nil, nil, nil, nil, nil, nil, nil,
509
- 141, 141, 143, 143, 143, 143, 143, 143, 143, 143,
510
- 143, 143, 143, 143, 143, 143, nil, 143, nil, nil,
511
- nil, nil, 143, 143, 143, 143, 143, 144, nil, nil,
512
- nil, 143, 143, nil, nil, nil, nil, nil, 144, 144,
513
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
514
- 144, 144, nil, 144, nil, nil, nil, nil, 290, nil,
515
- nil, nil, 290, 290, nil, nil, nil, 144, 144, 290,
516
- 290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
517
- 290, 290, 290, nil, 290, nil, nil, nil, nil, 296,
518
- nil, nil, nil, nil, nil, nil, nil, nil, 290, 290,
519
- 296, 296, 296, 296, 296, 296, 296, 296, 296, 296,
520
- 296, 296, 296, 296, nil, 296, nil, nil, nil, nil,
521
- 47, nil, nil, nil, nil, nil, nil, nil, nil, 296,
522
- 296, 47, 47, 47, 47, 47, 47, 47, 47, 47,
523
- 47, 47, 47, 47, 47, nil, 47, nil, nil, nil,
524
- nil, 48, nil, nil, nil, nil, nil, nil, nil, nil,
525
- 47, 47, 48, 48, 48, 48, 48, 48, 48, 48,
526
- 48, 48, 48, 48, 48, 48, nil, 48, nil, nil,
527
- nil, nil, 303, nil, nil, nil, nil, nil, nil, nil,
528
- nil, 48, 48, 303, 303, 303, 303, 303, 303, 303,
529
- 303, 303, 303, 303, 303, 303, 303, nil, 303, nil,
530
- nil, nil, nil, 55, nil, nil, 55, 55, 55, nil,
531
- nil, nil, 303, 303, 55, 55, 55, 55, 55, 55,
532
- 55, 55, 55, 55, 55, 55, 55, 55, nil, 55,
533
- nil, nil, nil, nil, 55, 55, 55, 55, 55, 189,
534
- nil, nil, nil, 55, 55, nil, nil, nil, nil, nil,
535
- 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
536
- 189, 189, 189, 189, nil, 189, nil, nil, nil, nil,
537
- 316, nil, nil, nil, nil, nil, nil, nil, nil, 189,
538
- 189, 316, 316, 316, 316, 316, 316, 316, 316, 316,
539
- 316, 316, 316, 316, 316, nil, 316, nil, nil, nil,
540
- nil, 317, nil, nil, nil, nil, nil, nil, nil, nil,
541
- 316, 316, 317, 317, 317, 317, 317, 317, 317, 317,
542
- 317, 317, 317, 317, 317, 317, nil, 317, nil, nil,
543
- nil, nil, 170, nil, nil, nil, nil, nil, nil, nil,
544
- nil, 317, 317, 170, 170, 170, 170, 170, 170, 170,
545
- 170, 170, 170, 170, 170, 170, 170, nil, 170, nil,
546
- nil, nil, nil, 171, nil, nil, nil, nil, nil, nil,
547
- nil, nil, 170, 170, 171, 171, 171, 171, 171, 171,
548
- 171, 171, 171, 171, 171, 171, 171, 171, nil, 171,
549
- nil, nil, nil, nil, 122, nil, nil, nil, nil, nil,
550
- nil, nil, nil, 171, 171, 122, 122, 122, 122, 122,
551
- 122, 122, 122, 122, 122, 122, 122, 122, 122, nil,
552
- 122, nil, nil, nil, nil, 173, nil, nil, nil, nil,
553
- nil, nil, nil, nil, 122, 122, 173, 173, 173, 173,
554
- 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
555
- nil, 173, nil, nil, nil, nil, 174, nil, nil, nil,
556
- nil, nil, nil, nil, nil, 173, 173, 174, 174, 174,
557
- 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
558
- 174, nil, 174, nil, nil, nil, nil, 176, nil, nil,
559
- nil, nil, nil, nil, nil, nil, 174, 174, 176, 176,
560
- 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
561
- 176, 176, nil, 176, nil, nil, nil, nil, 330, nil,
562
- nil, nil, nil, nil, nil, nil, nil, 176, 176, 330,
563
- 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
564
- 330, 330, 330, nil, 330, nil, nil, nil, nil, 333,
565
- nil, nil, nil, nil, nil, nil, nil, nil, 330, 330,
566
- 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
567
- 333, 333, 333, 333, nil, 333, nil, nil, nil, nil,
568
- 5, nil, nil, nil, nil, nil, nil, nil, nil, 333,
569
- 333, 5, 5, 5, 5, 5, 5, 5, 5, 5,
570
- 5, 5, 5, 5, 5, nil, 5, nil, nil, nil,
571
- nil, nil, nil, nil, 199, 199, 199, nil, nil, nil,
572
- 5, 5, 199, nil, 199, 199, 199, 199, 202, 202,
573
- nil, nil, nil, nil, nil, nil, 202, 199, 202, 202,
574
- 202, 202, 199, 199, 199, 199, 199, nil, nil, nil,
575
- nil, 202, nil, 200, 200, nil, 202, 202, 202, 202,
576
- 202, 200, nil, 200, 200, 200, 200, 201, 201, nil,
577
- nil, nil, nil, nil, nil, 201, 200, 201, 201, 201,
578
- 201, 200, 200, 200, 200, 200, nil, nil, nil, nil,
579
- 201, nil, nil, nil, nil, 201, 201, 201, 201, 201,
580
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
581
- 124, 124, 124, 124, nil, 124, 255, nil, 255, 255,
582
- 255, 255, nil, nil, nil, nil, nil, nil, nil, 124,
583
- 124, 255, nil, nil, nil, nil, 255, 255, 255, 255,
584
- 255 ]
230
+ clist = [
231
+ '93,348,92,353,348,134,96,97,105,194,110,111,112,344,106,100,121,345',
232
+ '369,27,357,26,349,104,101,349,123,124,116,99,103,118,114,135,122,264',
233
+ '107,108,134,102,27,360,26,262,113,125,126,127,193,94,95,98,117,109,115',
234
+ '119,120,93,143,92,195,-34,370,96,97,105,135,110,111,112,29,106,100,121',
235
+ '30,31,2,3,4,5,104,101,361,123,124,116,99,103,118,114,27,122,26,107,108',
236
+ '27,102,26,27,362,26,113,125,126,127,363,94,95,98,117,109,115,119,120',
237
+ '93,27,92,26,214,213,96,97,105,364,110,111,112,365,106,100,121,27,27',
238
+ '26,26,254,255,104,101,368,123,124,116,99,103,118,114,371,122,372,107',
239
+ '108,373,102,207,208,313,157,113,125,126,127,9,94,95,98,117,109,115,119',
240
+ '120,93,9,92,379,380,382,96,97,105,384,110,111,112,131,106,100,121,132',
241
+ '385,9,9,6,9,104,101,57,123,124,116,99,103,118,114,62,122,70,107,108',
242
+ '71,102,73,77,27,79,113,125,126,127,133,94,95,98,117,109,115,119,120',
243
+ '93,139,92,140,134,171,96,97,105,172,110,111,112,9,106,100,121,9,9,9',
244
+ '9,27,182,104,101,182,123,124,116,99,103,118,114,184,122,185,107,108',
245
+ '186,102,188,189,190,191,113,125,126,127,9,94,95,98,117,109,115,119,120',
246
+ '93,196,92,197,198,199,96,97,105,200,110,111,112,204,106,100,121,205',
247
+ '206,215,216,217,218,104,101,219,123,124,116,99,103,118,114,220,122,221',
248
+ '107,108,222,102,227,-91,-92,-93,113,125,126,127,-94,94,95,98,117,109',
249
+ '115,119,120,93,-98,92,-90,-88,62,96,97,105,231,110,111,112,233,106,100',
250
+ '121,235,236,237,238,239,243,104,101,246,123,124,116,99,103,118,114,251',
251
+ '122,134,107,108,256,102,257,278,280,231,113,125,126,127,303,94,95,98',
252
+ '117,109,115,119,120,93,9,92,309,311,312,96,97,105,321,110,111,112,322',
253
+ '106,100,121,324,326,331,332,333,337,104,101,338,123,124,116,99,103,118',
254
+ '114,339,122,9,107,108,350,102,351,353,,,113,125,126,127,,94,95,98,117',
255
+ '109,115,119,120,93,,92,,,,96,97,105,,110,111,112,131,106,100,121,132',
256
+ ',,,,,104,101,,123,124,116,99,103,118,114,,122,,107,108,,102,,,,,113',
257
+ '125,126,127,,94,95,98,117,109,115,119,120,93,,92,,,,96,97,105,,110,111',
258
+ '112,,106,100,121,,87,86,84,,,104,101,,123,124,116,99,103,118,114,,122',
259
+ ',107,108,83,102,88,,,,113,125,126,127,,94,95,98,117,109,115,119,120',
260
+ '50,,,,,89,81,,80,82,85,35,36,37,38,39,40,41,42,43,45,46,47,48,49,,52',
261
+ '53,,,,56,,,50,,,,214,213,,,27,,26,35,36,37,38,39,40,41,42,43,45,46,47',
262
+ '48,49,,52,53,,,,,,,50,,,,21,22,,,27,,26,35,36,37,38,39,40,41,42,43,45',
263
+ '46,47,48,49,,52,53,24,18,20,,23,27,50,26,,,21,22,,,27,,26,35,36,37,38',
264
+ '39,40,41,42,43,45,46,47,48,49,,52,53,24,18,20,,23,27,50,26,,,21,22,',
265
+ ',27,,26,35,36,37,38,39,40,41,42,43,45,46,47,48,49,,52,53,24,18,20,,23',
266
+ '27,50,26,,154,156,157,,,27,,26,159,36,160,161,162,163,41,42,43,45,46',
267
+ '47,48,49,,164,165,,,,56,,166,167,168,169,170,50,,,,27,,26,,,,,35,36',
268
+ '37,38,39,40,41,42,43,45,46,47,48,49,,52,53,,,,56,,,59,,,,21,22,,,27',
269
+ ',26,35,36,37,38,39,40,41,42,43,45,46,47,48,49,,52,53,24,18,20,,23,27',
270
+ '50,26,,,21,22,,,27,,26,35,36,37,38,39,40,41,42,43,45,46,47,48,49,,52',
271
+ '53,24,18,20,56,23,27,50,26,,,21,22,,,27,,26,35,36,37,38,39,40,41,42',
272
+ '43,45,46,47,48,49,,52,53,24,18,20,56,23,27,50,26,,,21,22,,,27,,26,35',
273
+ '36,37,38,39,40,41,42,43,45,46,47,48,49,,52,53,24,18,20,56,23,27,50,26',
274
+ ',,21,22,,,27,,26,35,36,37,38,39,40,41,42,43,45,46,47,48,49,,52,53,24',
275
+ '18,20,56,23,27,50,26,,,,,,,27,,26,35,36,37,38,39,40,41,42,43,45,46,47',
276
+ '48,49,,52,53,,,,56,,,50,,,,214,213,,,27,,26,35,36,37,38,39,40,41,42',
277
+ '43,45,46,47,48,49,,52,53,,,,,,,50,,,,313,157,,,27,,26,35,36,37,38,39',
278
+ '40,41,42,43,45,46,47,48,49,295,52,53,,,,56,,,50,293,294,296,297,298',
279
+ ',,27,,26,35,36,37,38,39,40,41,42,43,45,46,47,48,49,295,52,53,,,,56,',
280
+ ',50,293,294,296,297,298,,,27,,26,35,36,37,38,39,40,41,42,43,45,46,47',
281
+ '48,49,295,52,53,,,,56,,,50,293,294,296,297,298,,,27,,26,159,36,160,161',
282
+ '162,163,41,42,43,45,46,47,48,49,,164,165,,,,56,,166,167,168,169,170',
283
+ '50,,,,27,,26,,,,,35,36,37,38,39,40,41,42,43,45,46,47,48,49,295,52,53',
284
+ ',,,56,,,50,293,294,296,297,298,,,27,,26,35,36,37,38,39,40,41,42,43,45',
285
+ '46,47,48,49,,52,53,,,,,,,50,,,,,,,,27,,26,35,36,37,38,39,40,41,42,43',
286
+ '45,46,47,48,49,,52,53,,,,56,,,50,,,,,,,,27,,26,35,36,37,38,39,40,41',
287
+ '42,43,45,46,47,48,49,,52,53,,,,56,,,50,,,,,,,,27,,26,35,36,37,38,39',
288
+ '40,41,42,43,45,46,47,48,49,,52,53,,,,56,,,50,,,,,,,,27,,26,35,36,37',
289
+ '38,39,40,41,42,43,45,46,47,48,49,,52,53,,,,56,,,50,,,,,,,,27,,26,35',
290
+ '36,37,38,39,40,41,42,43,45,46,47,48,49,,52,53,,,,56,,,50,,,,,,,,27,',
291
+ '26,35,36,37,38,39,40,41,42,43,45,46,47,48,49,,52,53,,,,56,,,50,,,154',
292
+ '156,157,,,27,,26,159,36,160,161,162,163,41,42,43,45,46,47,48,49,,164',
293
+ '165,,,,56,,166,167,168,169,170,,,,50,27,,26,313,157,,,,,,35,36,37,38',
294
+ '39,40,41,42,43,45,46,47,48,49,,52,53,,,,56,,,50,,,,,,,,27,,26,35,36',
295
+ '37,38,39,40,41,42,43,45,46,47,48,49,,52,53,,,,56,,,50,,,,,,,,27,,26',
296
+ '35,36,37,38,39,40,41,42,43,45,46,47,48,49,,52,53,,,,56,,,50,,,,,,,,27',
297
+ ',26,35,36,37,38,39,40,41,42,43,45,46,47,48,49,,52,53,,,,56,,,50,,,,',
298
+ ',,,27,,26,35,36,37,38,39,40,41,42,43,45,46,47,48,49,,52,53,,,,56,,,50',
299
+ ',,,,,,,27,,26,35,36,37,38,39,40,41,42,43,45,46,47,48,49,,52,53,,,,56',
300
+ ',,50,,,,,,,,27,,26,35,36,37,38,39,40,41,42,43,45,46,47,48,49,,52,53',
301
+ ',,,56,,,50,,,,,,,,27,,26,35,36,37,38,39,40,41,42,43,45,46,47,48,49,',
302
+ '52,53,,,,56,,,50,,,,,,,,27,,26,35,36,37,38,39,40,41,42,43,45,46,47,48',
303
+ '49,,52,53,,,,56,,,50,,,,,,,,27,,26,35,36,37,38,39,40,41,42,43,45,46',
304
+ '47,48,49,,52,53,,,,56,,,50,,,,,,,,27,,26,35,36,37,38,39,40,41,42,43',
305
+ '45,46,47,48,49,,52,53,,,,56,,,50,,,,,,,,27,,26,35,36,37,38,39,40,41',
306
+ '42,43,45,46,47,48,49,,52,53,,,,56,,,50,,,,,,,,27,,26,35,36,37,38,39',
307
+ '40,41,42,43,45,46,47,48,49,,52,53,,,,56,,,50,,,,,,,,27,,26,35,36,37',
308
+ '38,39,40,41,42,43,45,46,47,48,49,,52,53,,,,56,,,50,,,,,,,,27,,26,35',
309
+ '36,37,38,39,40,41,42,43,45,46,47,48,49,,52,53,154,275,,56,,,,,269,,270',
310
+ '271,272,273,27,,26,,,,,,,268,267,,,154,275,,166,167,168,169,170,269',
311
+ ',270,271,272,273,,,,,,,,,,268,267,,,154,275,,166,167,168,169,170,269',
312
+ ',270,271,272,273,,,,,,,,,,268,267,,,154,156,157,166,167,168,169,170',
313
+ '269,,270,271,272,273,,,,,,,,,,268,267,,,,,,166,167,168,169,170,35,36',
314
+ '37,38,39,40,41,42,43,45,46,47,48,49,,52,53,,,269,,270,271,272,273,,',
315
+ ',,,,27,,26,268,267,,,,,,166,167,168,169,170' ]
316
+ racc_action_table = arr = ::Array.new(2169, nil)
317
+ idx = 0
318
+ clist.each do |str|
319
+ str.split(',', -1).each do |i|
320
+ arr[idx] = i.to_i unless i.empty?
321
+ idx += 1
322
+ end
323
+ end
324
+
325
+ clist = [
326
+ '325,326,325,330,365,44,325,325,325,91,325,325,325,325,325,325,325,325',
327
+ '353,22,336,22,326,325,325,365,325,325,325,325,325,325,325,44,325,216',
328
+ '325,325,202,325,295,341,295,216,325,325,325,325,91,325,325,325,325,325',
329
+ '325,325,325,199,58,199,91,58,353,199,199,199,202,199,199,199,4,199,199',
330
+ '199,4,4,0,0,0,0,199,199,343,199,199,199,199,199,199,199,296,199,296',
331
+ '199,199,233,199,233,30,344,30,199,199,199,199,345,199,199,199,199,199',
332
+ '199,199,199,200,21,200,21,311,311,200,200,200,346,200,200,200,347,200',
333
+ '200,200,85,23,85,23,207,207,200,200,352,200,200,200,200,200,200,200',
334
+ '354,200,355,200,200,356,200,139,139,339,339,200,200,200,200,360,200',
335
+ '200,200,200,200,200,200,200,31,361,31,366,367,370,31,31,31,376,31,31',
336
+ '31,31,31,31,31,31,377,384,385,1,2,31,31,6,31,31,31,31,31,31,31,9,31',
337
+ '18,31,31,19,31,20,24,26,27,31,31,31,31,34,31,31,31,31,31,31,31,31,231',
338
+ '51,231,56,60,61,231,231,231,62,231,231,231,72,231,231,231,74,75,76,77',
339
+ '79,80,231,231,81,231,231,231,231,231,231,231,82,231,83,231,231,84,231',
340
+ '86,87,88,89,231,231,231,231,90,231,231,231,231,231,231,231,231,298,97',
341
+ '298,100,129,131,298,298,298,132,298,298,298,136,298,298,298,137,138',
342
+ '141,142,144,145,298,298,147,298,298,298,298,298,298,298,149,298,151',
343
+ '298,298,152,298,158,159,160,161,298,298,298,298,162,298,298,298,298',
344
+ '298,298,298,298,297,163,297,164,165,172,297,297,297,175,297,297,297',
345
+ '176,297,297,297,177,178,179,181,183,187,297,297,190,297,297,297,297',
346
+ '297,297,297,201,297,209,297,297,210,297,212,225,229,230,297,297,297',
347
+ '297,236,297,297,297,297,297,297,297,297,362,239,362,256,259,263,362',
348
+ '362,362,282,362,362,362,283,362,362,362,293,294,300,301,303,314,362',
349
+ '362,315,362,362,362,362,362,362,362,317,362,321,362,362,327,362,328',
350
+ '329,,,362,362,362,362,,362,362,362,362,362,362,362,362,198,,198,,,,198',
351
+ '198,198,,198,198,198,198,198,198,198,198,,,,,,198,198,,198,198,198,198',
352
+ '198,198,198,,198,,198,198,,198,,,,,198,198,198,198,,198,198,198,198',
353
+ '198,198,198,198,363,,363,,,,363,363,363,,363,363,363,,363,363,363,,29',
354
+ '29,29,,,363,363,,363,363,363,363,363,363,363,,363,,363,363,29,363,29',
355
+ ',,,363,363,363,363,,363,363,363,363,363,363,363,363,185,,,,,29,29,,29',
356
+ '29,29,185,185,185,185,185,185,185,185,185,185,185,185,185,185,,185,185',
357
+ ',,,185,,,140,,,,140,140,,,185,,185,140,140,140,140,140,140,140,140,140',
358
+ '140,140,140,140,140,,140,140,,,,,,,213,,,,3,3,,,140,,140,213,213,213',
359
+ '213,213,213,213,213,213,213,213,213,213,213,,213,213,3,3,3,,3,3,214',
360
+ '3,,,14,14,,,213,,213,214,214,214,214,214,214,214,214,214,214,214,214',
361
+ '214,214,,214,214,14,14,14,,14,14,215,14,,,15,15,,,214,,214,215,215,215',
362
+ '215,215,215,215,215,215,215,215,215,215,215,,215,215,15,15,15,,15,15',
363
+ '218,15,,218,218,218,,,215,,215,218,218,218,218,218,218,218,218,218,218',
364
+ '218,218,218,218,,218,218,,,,218,,218,218,218,218,218,227,,,,218,,218',
365
+ ',,,,227,227,227,227,227,227,227,227,227,227,227,227,227,227,,227,227',
366
+ ',,,227,,,8,,,,11,11,,,227,,227,8,8,8,8,8,8,8,8,8,8,8,8,8,8,,8,8,11,11',
367
+ '11,,11,11,235,11,,,12,12,,,8,,8,235,235,235,235,235,235,235,235,235',
368
+ '235,235,235,235,235,,235,235,12,12,12,235,12,12,237,12,,,16,16,,,235',
369
+ ',235,237,237,237,237,237,237,237,237,237,237,237,237,237,237,,237,237',
370
+ '16,16,16,237,16,16,238,16,,,17,17,,,237,,237,238,238,238,238,238,238',
371
+ '238,238,238,238,238,238,238,238,,238,238,17,17,17,238,17,17,243,17,',
372
+ ',13,13,,,238,,238,243,243,243,243,243,243,243,243,243,243,243,243,243',
373
+ '243,,243,243,13,13,13,243,13,13,246,13,,,,,,,243,,243,246,246,246,246',
374
+ '246,246,246,246,246,246,246,246,246,246,,246,246,,,,246,,,257,,,,257',
375
+ '257,,,246,,246,257,257,257,257,257,257,257,257,257,257,257,257,257,257',
376
+ ',257,257,,,,,,,264,,,,264,264,,,257,,257,264,264,264,264,264,264,264',
377
+ '264,264,264,264,264,264,264,284,264,264,,,,264,,,278,284,284,284,284',
378
+ '284,,,264,,264,278,278,278,278,278,278,278,278,278,278,278,278,278,278',
379
+ '234,278,278,,,,278,,,154,234,234,234,234,234,,,278,,278,154,154,154',
380
+ '154,154,154,154,154,154,154,154,154,154,154,333,154,154,,,,154,,,156',
381
+ '333,333,333,333,333,,,154,,154,156,156,156,156,156,156,156,156,156,156',
382
+ '156,156,156,156,,156,156,,,,156,,156,156,156,156,156,157,,,,156,,156',
383
+ ',,,,157,157,157,157,157,157,157,157,157,157,157,157,157,157,232,157',
384
+ '157,,,,157,,,309,232,232,232,232,232,,,157,,157,309,309,309,309,309',
385
+ '309,309,309,309,309,309,309,309,309,,309,309,,,,,,,312,,,,,,,,309,,309',
386
+ '312,312,312,312,312,312,312,312,312,312,312,312,312,312,,312,312,,,',
387
+ '312,,,313,,,,,,,,312,,312,313,313,313,313,313,313,313,313,313,313,313',
388
+ '313,313,313,,313,313,,,,313,,,49,,,,,,,,313,,313,49,49,49,49,49,49,49',
389
+ '49,49,49,49,49,49,49,,49,49,,,,49,,,50,,,,,,,,49,,49,50,50,50,50,50',
390
+ '50,50,50,50,50,50,50,50,50,,50,50,,,,50,,,324,,,,,,,,50,,50,324,324',
391
+ '324,324,324,324,324,324,324,324,324,324,324,324,,324,324,,,,324,,,331',
392
+ ',,,,,,,324,,324,331,331,331,331,331,331,331,331,331,331,331,331,331',
393
+ '331,,331,331,,,,331,,,59,,,59,59,59,,,331,,331,59,59,59,59,59,59,59',
394
+ '59,59,59,59,59,59,59,,59,59,,,,59,,59,59,59,59,59,,,,338,59,,59,338',
395
+ '338,,,,,,338,338,338,338,338,338,338,338,338,338,338,338,338,338,,338',
396
+ '338,,,,338,,,133,,,,,,,,338,,338,133,133,133,133,133,133,133,133,133',
397
+ '133,133,133,133,133,,133,133,,,,133,,,184,,,,,,,,133,,133,184,184,184',
398
+ '184,184,184,184,184,184,184,184,184,184,184,,184,184,,,,184,,,71,,,',
399
+ ',,,,184,,184,71,71,71,71,71,71,71,71,71,71,71,71,71,71,,71,71,,,,71',
400
+ ',,186,,,,,,,,71,,71,186,186,186,186,186,186,186,186,186,186,186,186',
401
+ '186,186,,186,186,,,,186,,,350,,,,,,,,186,,186,350,350,350,350,350,350',
402
+ '350,350,350,350,350,350,350,350,,350,350,,,,350,,,351,,,,,,,,350,,350',
403
+ '351,351,351,351,351,351,351,351,351,351,351,351,351,351,,351,351,,,',
404
+ '351,,,188,,,,,,,,351,,351,188,188,188,188,188,188,188,188,188,188,188',
405
+ '188,188,188,,188,188,,,,188,,,189,,,,,,,,188,,188,189,189,189,189,189',
406
+ '189,189,189,189,189,189,189,189,189,,189,189,,,,189,,,5,,,,,,,,189,',
407
+ '189,5,5,5,5,5,5,5,5,5,5,5,5,5,5,,5,5,,,,5,,,191,,,,,,,,5,,5,191,191',
408
+ '191,191,191,191,191,191,191,191,191,191,191,191,,191,191,,,,191,,,368',
409
+ ',,,,,,,191,,191,368,368,368,368,368,368,368,368,368,368,368,368,368',
410
+ '368,,368,368,,,,368,,,70,,,,,,,,368,,368,70,70,70,70,70,70,70,70,70',
411
+ '70,70,70,70,70,,70,70,,,,70,,,371,,,,,,,,70,,70,371,371,371,371,371',
412
+ '371,371,371,371,371,371,371,371,371,,371,371,,,,371,,,205,,,,,,,,371',
413
+ ',371,205,205,205,205,205,205,205,205,205,205,205,205,205,205,,205,205',
414
+ '220,220,,205,,,,,220,,220,220,220,220,205,,205,,,,,,,220,220,,,221,221',
415
+ ',220,220,220,220,220,221,,221,221,221,221,,,,,,,,,,221,221,,,222,222',
416
+ ',221,221,221,221,221,222,,222,222,222,222,,,,,,,,,,222,222,,,219,219',
417
+ '219,222,222,222,222,222,219,,219,219,219,219,,,,,,,,,,219,219,,,,,,219',
418
+ '219,219,219,219,135,135,135,135,135,135,135,135,135,135,135,135,135',
419
+ '135,,135,135,,,275,,275,275,275,275,,,,,,,135,,135,275,275,,,,,,275',
420
+ '275,275,275,275' ]
421
+ racc_action_check = arr = ::Array.new(2169, nil)
422
+ idx = 0
423
+ clist.each do |str|
424
+ str.split(',', -1).each do |i|
425
+ arr[idx] = i.to_i unless i.empty?
426
+ idx += 1
427
+ end
428
+ end
585
429
 
586
430
  racc_action_pointer = [
587
- 69, 142, 130, 738, -50, 1623, 150, nil, 807, 134,
588
- nil, 547, 800, 578, 676, 707, 769, 147, 151, 135,
589
- 132, -28, -43, nil, 127, 133, nil, 473, 130, 149,
590
- nil, nil, 167, nil, nil, nil, nil, nil, nil, nil,
591
- nil, nil, 21, nil, nil, nil, nil, 1153, 1184, 161,
592
- nil, nil, nil, nil, 183, 1246, 187, 182, 194, nil,
593
- nil, nil, nil, nil, nil, 585, 683, 190, nil, 197,
594
- 199, 200, nil, 170, 187, 189, 221, 223, 231, 144,
595
- 232, 235, 201, 238, 236, 28, nil, nil, nil, nil,
596
- nil, 239, nil, nil, nil, nil, nil, nil, nil, nil,
431
+ 74, 192, 177, 622, 3, 1802, 196, nil, 805, 185,
432
+ nil, 796, 830, 932, 656, 690, 864, 898, 193, 196,
433
+ 178, 66, -30, 83, 178, nil, 164, 163, nil, 510,
434
+ 49, 161, nil, nil, 203, nil, nil, nil, nil, nil,
435
+ nil, nil, nil, nil, -6, nil, nil, nil, nil, 1319,
436
+ 1353, 194, nil, nil, nil, nil, 224, nil, 47, 1455,
437
+ 221, 216, 228, nil, nil, nil, nil, nil, nil, nil,
438
+ 1904, 1598, 225, nil, 229, 230, 231, 232, nil, 200,
439
+ 216, 219, 248, 250, 253, 82, 255, 256, 218, 258,
440
+ 260, -2, nil, nil, nil, nil, nil, 269, nil, nil,
441
+ 277, nil, nil, nil, nil, nil, nil, nil, nil, nil,
597
442
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
598
- nil, nil, nil, nil, nil, nil, nil, nil, 250, nil,
599
- 232, 234, 1437, nil, 1732, 237, 261, 270, 89, 274,
600
- -6, 279, 280, nil, 288, nil, 289, nil, 292, 294,
601
- nil, 993, nil, 1024, 1060, 291, 292, 296, 299, 306,
602
- 308, 309, nil, nil, nil, nil, nil, nil, 304, nil,
603
- nil, 281, 279, 327, 335, nil, 337, nil, 338, 523,
604
- 1375, 1406, 341, 1468, 1499, 343, 1530, nil, nil, nil,
605
- nil, nil, 361, -10, 255, 340, 10, nil, nil, 1282,
606
- nil, 21, nil, 554, nil, 352, 616, nil, 647, 1654,
607
- 1693, 1707, 1668, nil, nil, 349, nil, 714, nil, 320,
608
- 322, 96, 74, 115, 233, 745, 327, 776, 359, nil,
609
- nil, nil, 838, nil, nil, 869, nil, nil, nil, nil,
610
- nil, nil, nil, nil, nil, nil, nil, 365, 900, 931,
611
- 372, 377, nil, 380, nil, nil, nil, nil, nil, nil,
612
- nil, nil, nil, nil, nil, 1748, nil, nil, 962, nil,
613
- nil, nil, 377, 346, 286, nil, nil, nil, nil, nil,
614
- nil, nil, nil, 379, 386, 91, 97, 414, 308, nil,
615
- 379, 358, nil, 396, nil, nil, nil, nil, 392, nil,
616
- 1091, 80, nil, 393, nil, nil, 1122, 43, 375, -1,
617
- 6, 17, 26, 1215, nil, 180, nil, nil, nil, nil,
618
- -1, nil, 25, 6, 20, 54, 1313, 1344, 55, -5,
619
- 62, 60, 44, 77, 81, 202, 467, nil, 83, 90,
620
- 1561, nil, 103, 1592, nil, nil, nil, nil, 106, 108,
621
- nil, nil, nil, nil, nil, 112, 114, nil, nil ]
443
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 280,
444
+ nil, 255, 259, 1530, nil, 2105, 266, 293, 295, 134,
445
+ 597, 298, 291, nil, 298, 298, nil, 301, nil, 309,
446
+ nil, 311, 314, nil, 1111, nil, 1145, 1183, 312, 313,
447
+ 314, 315, 320, 330, 332, 333, nil, nil, nil, nil,
448
+ nil, nil, 328, nil, nil, 298, 297, 346, 353, 311,
449
+ nil, 349, nil, 350, 1564, 563, 1632, 351, 1734, 1768,
450
+ 354, 1836, nil, nil, nil, nil, nil, nil, 446, 47,
451
+ 104, 358, 27, nil, nil, 1972, nil, 99, nil, 366,
452
+ 372, nil, 373, 631, 665, 699, 28, nil, 733, 2078,
453
+ 1997, 2024, 2051, nil, nil, 370, nil, 771, nil, 337,
454
+ 332, 218, 1173, 46, 1067, 839, 341, 873, 907, 384,
455
+ nil, nil, nil, 941, nil, nil, 975, nil, nil, nil,
456
+ nil, nil, nil, nil, nil, nil, 396, 1009, nil, 394,
457
+ nil, nil, nil, 398, 1043, nil, nil, nil, nil, nil,
458
+ nil, nil, nil, nil, nil, 2124, nil, nil, 1077, nil,
459
+ nil, nil, 395, 365, 1033, nil, nil, nil, nil, nil,
460
+ nil, nil, nil, 403, 410, -9, 41, 332, 275, nil,
461
+ 402, 372, nil, 412, nil, nil, nil, nil, nil, 1217,
462
+ nil, 107, 1251, 1285, 413, 415, nil, 423, nil, nil,
463
+ nil, 418, nil, nil, 1387, -10, -35, 421, 423, 433,
464
+ -4, 1421, nil, 1101, nil, nil, 5, nil, 1496, 145,
465
+ nil, 2, nil, 69, 64, 70, 115, 118, nil, nil,
466
+ 1666, 1700, 126, 10, 134, 132, 105, nil, nil, nil,
467
+ 146, 156, 389, 503, nil, -32, 157, 158, 1870, nil,
468
+ 168, 1938, nil, nil, nil, nil, 167, 176, nil, nil,
469
+ nil, nil, nil, nil, 174, 175, nil, nil ]
622
470
 
623
471
  racc_action_default = [
624
- -200, -200, -137, -88, -200, -200, -200, -1, -7, -200,
625
- -2, -88, -88, -88, -88, -88, -88, -200, -200, -200,
626
- -200, -200, -200, -104, -200, -106, -3, -200, -200, -200,
627
- -4, -44, -65, -46, -47, -48, -49, -50, -51, -52,
628
- -53, -54, -62, -56, -57, -58, -59, -200, -200, -63,
629
- -64, -71, -72, 349, -31, -24, -9, -200, -139, -89,
630
- -90, -91, -92, -93, -94, -200, -200, -137, -103, -137,
631
- -137, -137, -105, -200, -200, -200, -200, -200, -200, -200,
632
- -200, -200, -200, -200, -137, -146, -147, -148, -149, -150,
633
- -151, -152, -153, -158, -159, -160, -161, -162, -163, -164,
634
- -165, -166, -167, -168, -169, -170, -171, -172, -173, -174,
635
- -175, -176, -177, -178, -179, -180, -181, -192, -195, -196,
636
- -200, -200, -200, -55, -200, -200, -73, -200, -200, -200,
637
- -34, -200, -10, -12, -13, -15, -16, -18, -19, -20,
638
- -23, -200, -26, -200, -200, -200, -46, -48, -49, -50,
639
- -51, -64, -77, -78, -84, -85, -86, -138, -200, -95,
640
- -96, -141, -133, -101, -200, -107, -200, -199, -200, -200,
641
- -200, -200, -200, -200, -200, -200, -200, -191, -154, -155,
642
- -156, -157, -200, -200, -200, -200, -75, -76, -60, -200,
643
- -61, -68, -67, -200, -32, -200, -42, -8, -24, -24,
644
- -24, -24, -24, -25, -27, -200, -28, -200, -140, -200,
645
- -141, -200, -108, -200, -108, -200, -200, -200, -137, -184,
646
- -185, -186, -200, -188, -189, -200, -193, -194, -197, -198,
647
- -45, -74, -66, -69, -70, -5, -6, -62, -200, -200,
648
- -200, -36, -38, -39, -41, -43, -11, -14, -79, -80,
649
- -81, -82, -83, -87, -17, -200, -21, -22, -200, -29,
650
- -97, -142, -200, -200, -108, -110, -111, -112, -113, -114,
651
- -115, -116, -117, -200, -131, -200, -200, -200, -200, -134,
652
- -135, -200, -102, -200, -182, -183, -187, -190, -200, -35,
653
- -42, -42, -30, -137, -98, -109, -200, -200, -200, -122,
654
- -124, -128, -128, -200, -99, -108, -33, -37, -40, -143,
655
- -144, -118, -200, -200, -200, -200, -200, -200, -200, -200,
656
- -200, -200, -200, -137, -137, -200, -200, -132, -200, -200,
657
- -200, -129, -200, -200, -136, -100, -145, -119, -200, -200,
658
- -123, -125, -126, -130, -127, -137, -137, -120, -121 ]
472
+ -223, -223, -155, -100, -223, -223, -223, -1, -7, -223,
473
+ -2, -100, -100, -100, -100, -100, -100, -100, -223, -223,
474
+ -223, -223, -223, -223, -223, -118, -223, -120, -3, -223,
475
+ -223, -223, -4, -46, -68, -48, -49, -50, -51, -52,
476
+ -53, -54, -55, -56, -64, -58, -59, -60, -61, -223,
477
+ -223, -65, -66, -67, -74, -75, -223, 388, -31, -24,
478
+ -9, -223, -157, -101, -102, -103, -104, -105, -106, -107,
479
+ -223, -223, -155, -117, -155, -155, -155, -155, -119, -223,
480
+ -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
481
+ -155, -164, -165, -166, -167, -168, -169, -170, -171, -172,
482
+ -223, -178, -179, -180, -181, -182, -183, -184, -185, -186,
483
+ -187, -188, -189, -190, -191, -192, -193, -194, -195, -196,
484
+ -197, -198, -199, -200, -201, -202, -203, -204, -215, -218,
485
+ -219, -223, -223, -223, -57, -223, -223, -84, -223, -223,
486
+ -80, -223, -223, -35, -223, -10, -12, -13, -15, -16,
487
+ -18, -19, -20, -23, -223, -26, -223, -223, -223, -48,
488
+ -50, -51, -52, -53, -66, -67, -89, -95, -96, -97,
489
+ -99, -156, -223, -108, -109, -159, -151, -115, -223, -223,
490
+ -121, -223, -222, -223, -223, -223, -223, -223, -223, -223,
491
+ -223, -223, -214, -173, -174, -175, -176, -177, -223, -223,
492
+ -223, -223, -86, -87, -62, -223, -63, -71, -70, -64,
493
+ -223, -77, -78, -223, -223, -223, -36, -8, -24, -24,
494
+ -24, -24, -24, -25, -27, -223, -28, -223, -158, -223,
495
+ -159, -223, -122, -223, -122, -223, -223, -223, -223, -155,
496
+ -207, -208, -209, -223, -211, -212, -223, -216, -217, -220,
497
+ -221, -47, -85, -69, -72, -73, -223, -80, -81, -82,
498
+ -5, -6, -32, -223, -44, -11, -14, -88, -90, -91,
499
+ -92, -93, -94, -98, -17, -223, -21, -22, -223, -29,
500
+ -110, -160, -223, -223, -122, -124, -125, -126, -127, -128,
501
+ -129, -130, -131, -223, -145, -223, -223, -223, -223, -152,
502
+ -153, -223, -116, -223, -114, -205, -206, -210, -213, -223,
503
+ -79, -80, -223, -223, -223, -38, -40, -41, -43, -45,
504
+ -30, -155, -111, -123, -223, -223, -223, -136, -138, -142,
505
+ -142, -223, -112, -122, -76, -83, -223, -37, -44, -44,
506
+ -161, -162, -132, -223, -223, -223, -223, -147, -149, -150,
507
+ -223, -223, -223, -223, -223, -223, -223, -33, -39, -42,
508
+ -155, -155, -223, -223, -146, -223, -223, -223, -223, -143,
509
+ -223, -223, -154, -113, -163, -133, -223, -223, -148, -137,
510
+ -139, -140, -144, -141, -155, -155, -134, -135 ]
659
511
 
660
512
  racc_goto_table = [
661
- 30, 18, 7, 56, 117, 57, 125, 131, 205, 18,
662
- 18, 18, 18, 18, 18, 240, 228, 229, 69, 70,
663
- 71, 243, 309, 245, 209, 232, 84, 241, 10, 72,
664
- 263, 161, 281, 162, 163, 164, 59, 60, 61, 62,
665
- 63, 64, 187, 127, 262, 254, 256, 257, 177, 67,
666
- 142, 1, 336, 337, 318, 320, 166, 168, 212, 195,
667
- 159, 160, 214, 235, 297, 236, 279, 26, 308, 247,
668
- 129, 54, nil, 261, 347, 348, nil, 172, 165, nil,
669
- nil, 185, 295, nil, nil, nil, nil, nil, nil, nil,
513
+ 32, 136, 7, 60, 19, 212, 128, 249, 250, 61,
514
+ 144, 210, 19, 19, 19, 19, 19, 19, 19, 225,
515
+ 317, 229, 74, 75, 76, 283, 319, 301, 314, 315,
516
+ 78, 90, 346, 340, 274, 276, 277, 359, 175, 282,
517
+ 176, 177, 178, 179, 335, 138, 181, 183, 72, 10,
518
+ 352, 354, 263, 232, 155, 142, 192, 63, 64, 65,
519
+ 66, 67, 68, 69, 234, 173, 174, 1, 325, 266,
520
+ 260, 378, 374, 375, 141, 299, 281, 323, 258, 259,
521
+ 261, 58, 253, 180, 28, 201, 187, 203, nil, nil,
522
+ nil, nil, nil, nil, 317, 317, 386, 387, nil, nil,
523
+ 319, 319, 358, 315, nil, 329, 330, nil, nil, nil,
670
524
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
671
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 307,
672
- 301, 302, nil, nil, nil, 243, 243, 245, 245, 186,
673
- 205, 241, nil, 322, nil, nil, nil, nil, nil, nil,
674
- 312, nil, nil, nil, nil, nil, 203, nil, 204, 206,
675
- nil, nil, nil, nil, nil, nil, nil, nil, 231, nil,
676
- 246, nil, nil, nil, 208, nil, nil, 227, 338, 339,
677
- nil, nil, nil, nil, 219, 220, 221, nil, 223, 224,
678
- nil, 226, nil, nil, nil, nil, nil, nil, nil, nil,
679
- nil, nil, nil, nil, nil, nil, nil, nil, 237, nil,
680
- nil, 142, nil, 142, nil, nil, nil, nil, nil, nil,
681
- nil, nil, 259, nil, nil, nil, nil, nil, nil, nil,
682
- 282, 280, 284, nil, nil, nil, nil, 286, 285, nil,
683
- 287, nil, nil, nil, nil, nil, nil, nil, nil, nil,
684
- nil, nil, nil, 288, 204, nil, nil, nil, nil, nil,
525
+ nil, nil, 212, nil, nil, nil, 356, nil, 310, nil,
526
+ 202, nil, nil, 343, nil, 209, nil, nil, 225, nil,
527
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 223,
528
+ nil, 224, 226, nil, nil, nil, nil, 252, nil, nil,
529
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 265,
530
+ 376, 377, 228, 248, 334, nil, nil, nil, nil, 240,
531
+ 241, 242, nil, 244, 245, nil, 247, nil, nil, nil,
685
532
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
686
- nil, nil, nil, 292, nil, nil, nil, nil, nil, nil,
687
- nil, nil, 321, nil, nil, nil, nil, nil, nil, nil,
688
- nil, nil, nil, 299, 300, 328, 329, nil, nil, nil,
689
- nil, nil, nil, nil, nil, 142, nil, nil, nil, nil,
690
- nil, 311, nil, nil, nil, nil, nil, nil, nil, nil,
533
+ nil, nil, nil, nil, nil, nil, nil, nil, 209, 209,
534
+ 209, nil, nil, 155, nil, nil, nil, nil, nil, nil,
535
+ nil, nil, 279, nil, nil, nil, nil, nil, nil, nil,
536
+ 302, nil, 304, 305, 300, nil, nil, nil, 307, 306,
537
+ nil, 308, nil, nil, nil, nil, nil, nil, nil, nil,
538
+ nil, nil, 209, nil, nil, nil, nil, nil, nil, 155,
691
539
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
540
+ nil, nil, nil, 320, nil, nil, nil, nil, nil, nil,
541
+ nil, nil, nil, 355, nil, nil, nil, nil, nil, nil,
542
+ nil, nil, nil, nil, nil, nil, 327, 328, nil, nil,
543
+ nil, nil, 366, 367, 209, nil, nil, 336, 224, nil,
544
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 342,
692
545
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
693
- nil, nil, nil, nil, nil, 342, nil, nil, 344 ]
546
+ nil, nil, nil, 155, nil, nil, nil, nil, nil, nil,
547
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
548
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
549
+ nil, nil, nil, 381, nil, nil, 383 ]
694
550
 
695
551
  racc_goto_check = [
696
- 5, 30, 2, 12, 63, 59, 29, 11, 22, 30,
697
- 30, 30, 30, 30, 30, 24, 55, 55, 30, 30,
698
- 30, 15, 56, 17, 40, 31, 30, 13, 3, 44,
699
- 42, 6, 42, 6, 6, 6, 3, 3, 3, 3,
700
- 3, 3, 32, 5, 55, 18, 18, 18, 6, 39,
701
- 5, 1, 56, 56, 57, 57, 62, 62, 41, 23,
702
- 5, 5, 43, 9, 54, 10, 58, 4, 25, 14,
703
- 8, 7, nil, 40, 56, 56, nil, 30, 44, nil,
704
- nil, 29, 42, nil, nil, nil, nil, nil, nil, nil,
552
+ 5, 30, 2, 12, 31, 10, 69, 59, 59, 65,
553
+ 11, 34, 31, 31, 31, 31, 31, 31, 31, 22,
554
+ 15, 44, 31, 31, 31, 46, 17, 46, 25, 13,
555
+ 48, 31, 62, 60, 18, 18, 18, 26, 6, 59,
556
+ 6, 6, 6, 6, 35, 5, 68, 68, 43, 3,
557
+ 61, 61, 24, 45, 5, 23, 6, 3, 3, 3,
558
+ 3, 3, 3, 3, 47, 5, 5, 1, 58, 14,
559
+ 9, 62, 60, 60, 8, 64, 44, 46, 10, 10,
560
+ 10, 7, 32, 48, 4, 30, 31, 33, nil, nil,
561
+ nil, nil, nil, nil, 15, 15, 60, 60, nil, nil,
562
+ 17, 17, 25, 13, nil, 59, 59, nil, nil, nil,
705
563
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
706
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 24,
707
- 55, 55, nil, nil, nil, 15, 15, 17, 17, 12,
708
- 22, 13, nil, 42, nil, nil, nil, nil, nil, nil,
709
- 55, nil, nil, nil, nil, nil, 5, nil, 5, 5,
710
- nil, nil, nil, nil, nil, nil, nil, nil, 29, nil,
711
- 11, nil, nil, nil, 59, nil, nil, 63, 55, 55,
712
- nil, nil, nil, nil, 5, 5, 5, nil, 5, 5,
713
- nil, 5, nil, nil, nil, nil, nil, nil, nil, nil,
714
- nil, nil, nil, nil, nil, nil, nil, nil, 12, nil,
715
- nil, 5, nil, 5, nil, nil, nil, nil, nil, nil,
564
+ nil, nil, 10, nil, nil, nil, 46, nil, 34, nil,
565
+ 12, nil, nil, 59, nil, 12, nil, nil, 22, nil,
566
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 5,
567
+ nil, 5, 5, nil, nil, nil, nil, 30, nil, nil,
568
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 11,
569
+ 59, 59, 65, 69, 10, nil, nil, nil, nil, 5,
570
+ 5, 5, nil, 5, 5, nil, 5, nil, nil, nil,
571
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
572
+ nil, nil, nil, nil, nil, nil, nil, nil, 12, 12,
573
+ 12, nil, nil, 5, nil, nil, nil, nil, nil, nil,
716
574
  nil, nil, 5, nil, nil, nil, nil, nil, nil, nil,
717
- 5, 30, 5, nil, nil, nil, nil, 5, 2, nil,
718
- 5, nil, nil, nil, nil, nil, nil, nil, nil, nil,
719
- nil, nil, nil, 5, 5, nil, nil, nil, nil, nil,
575
+ 5, nil, 5, 5, 31, nil, nil, nil, 5, 2,
576
+ nil, 5, nil, nil, nil, nil, nil, nil, nil, nil,
577
+ nil, nil, 12, nil, nil, nil, nil, nil, nil, 5,
578
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
579
+ nil, nil, nil, 5, nil, nil, nil, nil, nil, nil,
580
+ nil, nil, nil, 30, nil, nil, nil, nil, nil, nil,
581
+ nil, nil, nil, nil, nil, nil, 31, 31, nil, nil,
582
+ nil, nil, 30, 30, 12, nil, nil, 5, 5, nil,
583
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 5,
720
584
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
721
585
  nil, nil, nil, 5, nil, nil, nil, nil, nil, nil,
722
- nil, nil, 29, nil, nil, nil, nil, nil, nil, nil,
723
- nil, nil, nil, 30, 30, 29, 29, nil, nil, nil,
724
- nil, nil, nil, nil, nil, 5, nil, nil, nil, nil,
725
- nil, 5, nil, nil, nil, nil, nil, nil, nil, nil,
726
586
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
727
587
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
728
- nil, nil, nil, nil, nil, 5, nil, nil, 5 ]
588
+ nil, nil, nil, 5, nil, nil, 5 ]
729
589
 
730
590
  racc_goto_pointer = [
731
- nil, 51, 0, 25, 63, -5, -36, 63, 16, -130,
732
- -128, -48, -5, -169, -130, -175, nil, -173, -155, nil,
733
- nil, nil, -135, -71, -181, -223, nil, nil, nil, -41,
734
- -2, -166, -82, nil, nil, nil, nil, nil, nil, 30,
735
- -137, -104, -182, -101, 5, nil, nil, nil, nil, nil,
736
- nil, nil, nil, nil, -210, -167, -271, -247, -147, -4,
737
- nil, nil, -18, -25, nil ]
591
+ nil, 67, 0, 46, 80, -5, -34, 73, 16, -145,
592
+ -135, -49, -5, -235, -150, -244, nil, -238, -186, nil,
593
+ nil, nil, -137, -3, -164, -236, -302, nil, nil, nil,
594
+ -48, 1, -125, -48, -129, -267, nil, nil, nil, nil,
595
+ nil, nil, nil, 28, -154, -123, -207, -113, 4, nil,
596
+ nil, nil, nil, nil, nil, nil, nil, nil, -226, -192,
597
+ -288, -279, -294, nil, -158, 0, nil, nil, -34, -25,
598
+ nil ]
738
599
 
739
600
  racc_goto_default = [
740
- nil, nil, 310, nil, nil, 126, 8, nil, nil, nil,
741
- 51, nil, 42, 132, 133, 134, 135, 136, 137, 138,
742
- 139, 140, 145, nil, nil, 242, 244, 31, 32, nil,
743
- 49, nil, 52, 11, 12, 13, 14, 15, 16, nil,
744
- nil, nil, nil, nil, 23, 264, 265, 266, 267, 268,
745
- 269, 270, 271, 272, nil, 119, nil, nil, nil, nil,
746
- 210, 85, nil, nil, 118 ]
601
+ nil, nil, 341, nil, nil, 137, 8, nil, nil, nil,
602
+ 54, nil, 44, 145, 146, 147, 148, 149, 150, 151,
603
+ 152, 153, 158, nil, nil, nil, 316, 318, 33, 34,
604
+ nil, 51, nil, 55, nil, 211, 11, 12, 13, 14,
605
+ 15, 16, 17, nil, nil, nil, nil, nil, 25, 284,
606
+ 285, 286, 287, 288, 289, 290, 291, 292, nil, 130,
607
+ nil, nil, nil, 347, nil, nil, 230, 91, nil, nil,
608
+ 129 ]
747
609
 
748
610
  racc_reduce_table = [
749
611
  0, 0, :racc_error,
750
- 2, 70, :_reduce_1,
751
- 2, 70, :_reduce_2,
752
- 2, 70, :_reduce_3,
753
- 2, 70, :_reduce_4,
754
- 5, 71, :_reduce_5,
612
+ 2, 74, :_reduce_1,
613
+ 2, 74, :_reduce_2,
614
+ 2, 74, :_reduce_3,
615
+ 2, 74, :_reduce_4,
616
+ 5, 75, :_reduce_5,
617
+ 1, 82, :_reduce_none,
618
+ 0, 80, :_reduce_7,
619
+ 3, 80, :_reduce_8,
620
+ 1, 80, :_reduce_9,
621
+ 1, 84, :_reduce_10,
622
+ 3, 84, :_reduce_11,
623
+ 1, 84, :_reduce_12,
624
+ 1, 87, :_reduce_13,
625
+ 3, 87, :_reduce_14,
626
+ 1, 87, :_reduce_15,
627
+ 1, 89, :_reduce_16,
628
+ 3, 89, :_reduce_17,
629
+ 1, 89, :_reduce_18,
630
+ 1, 91, :_reduce_19,
631
+ 1, 91, :_reduce_20,
632
+ 3, 91, :_reduce_21,
633
+ 3, 91, :_reduce_22,
634
+ 1, 91, :_reduce_23,
635
+ 0, 94, :_reduce_24,
636
+ 2, 94, :_reduce_25,
637
+ 1, 86, :_reduce_26,
638
+ 2, 88, :_reduce_27,
639
+ 2, 90, :_reduce_28,
640
+ 3, 92, :_reduce_29,
641
+ 4, 93, :_reduce_30,
642
+ 0, 81, :_reduce_31,
643
+ 3, 81, :_reduce_32,
644
+ 6, 81, :_reduce_33,
645
+ 0, 96, :_reduce_34,
646
+ 1, 96, :_reduce_35,
647
+ 0, 97, :_reduce_36,
648
+ 3, 97, :_reduce_37,
649
+ 1, 98, :_reduce_38,
650
+ 3, 98, :_reduce_39,
651
+ 1, 98, :_reduce_40,
652
+ 1, 99, :_reduce_41,
653
+ 3, 99, :_reduce_42,
654
+ 1, 99, :_reduce_43,
655
+ 0, 100, :_reduce_44,
656
+ 1, 100, :_reduce_45,
657
+ 1, 85, :_reduce_46,
658
+ 4, 85, :_reduce_47,
659
+ 1, 85, :_reduce_48,
660
+ 1, 85, :_reduce_49,
661
+ 1, 85, :_reduce_50,
662
+ 1, 85, :_reduce_51,
663
+ 1, 85, :_reduce_52,
664
+ 1, 85, :_reduce_53,
665
+ 1, 85, :_reduce_54,
666
+ 1, 85, :_reduce_55,
667
+ 1, 85, :_reduce_56,
668
+ 2, 85, :_reduce_57,
669
+ 1, 85, :_reduce_58,
670
+ 1, 85, :_reduce_59,
671
+ 1, 85, :_reduce_60,
672
+ 1, 85, :_reduce_61,
673
+ 3, 85, :_reduce_62,
674
+ 3, 83, :_reduce_63,
675
+ 1, 83, :_reduce_none,
676
+ 1, 102, :_reduce_65,
677
+ 1, 102, :_reduce_66,
678
+ 1, 102, :_reduce_67,
679
+ 1, 101, :_reduce_none,
680
+ 4, 101, :_reduce_69,
681
+ 3, 101, :_reduce_70,
682
+ 0, 105, :_reduce_71,
683
+ 1, 105, :_reduce_72,
684
+ 1, 105, :_reduce_73,
755
685
  1, 78, :_reduce_none,
756
- 0, 76, :_reduce_7,
757
- 3, 76, :_reduce_8,
758
- 1, 76, :_reduce_9,
759
- 1, 80, :_reduce_10,
760
- 3, 80, :_reduce_11,
761
- 1, 80, :_reduce_12,
762
- 1, 83, :_reduce_13,
763
- 3, 83, :_reduce_14,
764
- 1, 83, :_reduce_15,
765
- 1, 85, :_reduce_16,
766
- 3, 85, :_reduce_17,
767
- 1, 85, :_reduce_18,
768
- 1, 87, :_reduce_19,
769
- 1, 87, :_reduce_20,
770
- 3, 87, :_reduce_21,
771
- 3, 87, :_reduce_22,
772
- 1, 87, :_reduce_23,
773
- 0, 90, :_reduce_24,
774
- 2, 90, :_reduce_25,
775
- 1, 82, :_reduce_26,
776
- 2, 84, :_reduce_27,
777
- 2, 86, :_reduce_28,
778
- 3, 88, :_reduce_29,
779
- 4, 89, :_reduce_30,
780
- 0, 77, :_reduce_31,
781
- 2, 77, :_reduce_32,
782
- 5, 77, :_reduce_33,
783
- 0, 92, :_reduce_34,
784
- 3, 92, :_reduce_35,
785
- 1, 93, :_reduce_36,
786
- 3, 93, :_reduce_37,
787
- 1, 93, :_reduce_38,
788
- 1, 94, :_reduce_39,
789
- 3, 94, :_reduce_40,
790
- 1, 94, :_reduce_41,
791
- 0, 95, :_reduce_42,
792
- 1, 95, :_reduce_43,
793
- 1, 81, :_reduce_44,
794
- 4, 81, :_reduce_45,
795
- 1, 81, :_reduce_46,
796
- 1, 81, :_reduce_47,
797
- 1, 81, :_reduce_48,
798
- 1, 81, :_reduce_49,
799
- 1, 81, :_reduce_50,
800
- 1, 81, :_reduce_51,
801
- 1, 81, :_reduce_52,
802
- 1, 81, :_reduce_53,
803
- 1, 81, :_reduce_54,
804
- 2, 81, :_reduce_55,
805
- 1, 81, :_reduce_56,
806
- 1, 81, :_reduce_57,
807
- 1, 81, :_reduce_58,
808
- 1, 81, :_reduce_59,
809
- 3, 81, :_reduce_60,
810
- 3, 79, :_reduce_61,
811
- 1, 79, :_reduce_none,
812
- 1, 97, :_reduce_63,
813
- 1, 97, :_reduce_64,
814
- 1, 96, :_reduce_none,
815
- 4, 96, :_reduce_66,
816
- 3, 96, :_reduce_67,
817
- 0, 100, :_reduce_68,
818
- 1, 100, :_reduce_none,
819
- 1, 100, :_reduce_none,
820
- 1, 74, :_reduce_none,
821
- 1, 74, :_reduce_72,
822
- 1, 98, :_reduce_73,
823
- 3, 98, :_reduce_74,
824
- 3, 101, :_reduce_75,
825
- 3, 101, :_reduce_76,
826
- 1, 91, :_reduce_none,
827
- 1, 91, :_reduce_none,
828
- 1, 91, :_reduce_none,
829
- 1, 91, :_reduce_none,
830
- 1, 91, :_reduce_none,
831
- 1, 91, :_reduce_none,
832
- 1, 91, :_reduce_none,
833
- 1, 91, :_reduce_none,
834
- 1, 91, :_reduce_none,
835
- 1, 91, :_reduce_none,
836
- 1, 91, :_reduce_none,
837
- 0, 72, :_reduce_88,
838
- 2, 72, :_reduce_89,
839
- 2, 72, :_reduce_90,
840
- 2, 72, :_reduce_91,
841
- 2, 72, :_reduce_92,
842
- 2, 72, :_reduce_93,
843
- 2, 72, :_reduce_94,
844
- 3, 107, :_reduce_95,
845
- 3, 106, :_reduce_96,
846
- 5, 102, :_reduce_97,
847
- 6, 103, :_reduce_98,
848
- 6, 104, :_reduce_99,
849
- 8, 105, :_reduce_100,
850
- 0, 112, :_reduce_101,
851
- 2, 112, :_reduce_102,
852
- 1, 108, :_reduce_none,
853
- 1, 99, :_reduce_none,
854
- 2, 99, :_reduce_105,
855
- 1, 113, :_reduce_106,
856
- 3, 113, :_reduce_107,
857
- 0, 111, :_reduce_108,
858
- 2, 111, :_reduce_109,
859
- 1, 114, :_reduce_none,
860
- 1, 114, :_reduce_none,
861
- 1, 114, :_reduce_none,
862
- 1, 114, :_reduce_none,
863
- 1, 114, :_reduce_none,
864
- 1, 114, :_reduce_none,
865
- 1, 114, :_reduce_none,
866
- 1, 114, :_reduce_none,
867
- 3, 120, :_reduce_118,
868
- 5, 115, :_reduce_119,
869
- 7, 116, :_reduce_120,
870
- 7, 117, :_reduce_121,
871
- 2, 118, :_reduce_122,
872
- 5, 118, :_reduce_123,
873
- 2, 119, :_reduce_124,
874
- 5, 119, :_reduce_125,
875
- 5, 121, :_reduce_126,
876
- 5, 122, :_reduce_127,
877
- 0, 126, :_reduce_128,
878
- 2, 126, :_reduce_129,
879
- 3, 126, :_reduce_130,
880
- 0, 123, :_reduce_131,
881
- 3, 123, :_reduce_132,
882
- 0, 110, :_reduce_133,
883
- 2, 110, :_reduce_134,
884
- 1, 127, :_reduce_135,
885
- 4, 127, :_reduce_136,
886
- 0, 75, :_reduce_137,
887
- 3, 75, :_reduce_138,
888
- 1, 128, :_reduce_139,
889
- 3, 128, :_reduce_140,
890
- 0, 109, :_reduce_141,
891
- 2, 109, :_reduce_142,
892
- 4, 129, :_reduce_143,
893
- 1, 125, :_reduce_144,
894
- 3, 125, :_reduce_145,
895
- 1, 124, :_reduce_none,
896
- 1, 124, :_reduce_none,
897
- 1, 124, :_reduce_none,
898
- 1, 124, :_reduce_none,
899
- 1, 124, :_reduce_none,
900
- 1, 124, :_reduce_none,
901
- 1, 124, :_reduce_none,
902
- 1, 124, :_reduce_153,
903
- 2, 124, :_reduce_154,
904
- 2, 124, :_reduce_155,
905
- 2, 124, :_reduce_156,
906
- 2, 124, :_reduce_157,
907
- 1, 130, :_reduce_none,
908
- 1, 130, :_reduce_none,
909
- 1, 130, :_reduce_none,
910
- 1, 130, :_reduce_none,
911
- 1, 130, :_reduce_none,
912
- 1, 130, :_reduce_none,
913
- 1, 130, :_reduce_none,
914
- 1, 130, :_reduce_none,
915
- 1, 130, :_reduce_none,
916
- 1, 130, :_reduce_none,
917
- 1, 130, :_reduce_none,
918
- 1, 130, :_reduce_none,
919
- 1, 130, :_reduce_none,
920
- 1, 130, :_reduce_none,
921
- 1, 130, :_reduce_none,
922
- 1, 130, :_reduce_none,
923
- 1, 130, :_reduce_none,
924
- 1, 130, :_reduce_none,
925
- 1, 130, :_reduce_none,
926
- 1, 130, :_reduce_none,
927
- 1, 130, :_reduce_178,
928
- 1, 130, :_reduce_179,
929
- 1, 130, :_reduce_none,
930
- 1, 130, :_reduce_none,
931
- 5, 73, :_reduce_182,
932
- 5, 73, :_reduce_183,
933
- 4, 73, :_reduce_184,
934
- 4, 73, :_reduce_185,
935
- 4, 73, :_reduce_186,
936
- 5, 73, :_reduce_187,
937
- 4, 73, :_reduce_188,
938
- 4, 73, :_reduce_189,
939
- 5, 73, :_reduce_190,
940
- 3, 73, :_reduce_191,
941
- 2, 73, :_reduce_192,
942
- 4, 73, :_reduce_193,
943
- 3, 132, :_reduce_194,
944
- 1, 132, :_reduce_195,
945
- 1, 133, :_reduce_196,
946
- 3, 133, :_reduce_197,
947
- 3, 133, :_reduce_198,
948
- 1, 131, :_reduce_199 ]
949
-
950
- racc_reduce_n = 200
951
-
952
- racc_shift_n = 349
686
+ 1, 78, :_reduce_75,
687
+ 6, 78, :_reduce_76,
688
+ 1, 107, :_reduce_none,
689
+ 1, 107, :_reduce_78,
690
+ 3, 107, :_reduce_79,
691
+ 0, 108, :_reduce_80,
692
+ 2, 108, :_reduce_81,
693
+ 2, 108, :_reduce_82,
694
+ 4, 108, :_reduce_83,
695
+ 1, 103, :_reduce_84,
696
+ 3, 103, :_reduce_85,
697
+ 3, 106, :_reduce_86,
698
+ 3, 106, :_reduce_87,
699
+ 1, 95, :_reduce_none,
700
+ 1, 95, :_reduce_none,
701
+ 1, 95, :_reduce_none,
702
+ 1, 95, :_reduce_none,
703
+ 1, 95, :_reduce_none,
704
+ 1, 95, :_reduce_none,
705
+ 1, 95, :_reduce_none,
706
+ 1, 95, :_reduce_none,
707
+ 1, 95, :_reduce_none,
708
+ 1, 95, :_reduce_none,
709
+ 1, 95, :_reduce_none,
710
+ 1, 95, :_reduce_none,
711
+ 0, 76, :_reduce_100,
712
+ 2, 76, :_reduce_101,
713
+ 2, 76, :_reduce_102,
714
+ 2, 76, :_reduce_103,
715
+ 2, 76, :_reduce_104,
716
+ 2, 76, :_reduce_105,
717
+ 2, 76, :_reduce_106,
718
+ 2, 76, :_reduce_107,
719
+ 3, 114, :_reduce_108,
720
+ 3, 113, :_reduce_109,
721
+ 5, 109, :_reduce_110,
722
+ 6, 110, :_reduce_111,
723
+ 6, 111, :_reduce_112,
724
+ 8, 112, :_reduce_113,
725
+ 5, 115, :_reduce_114,
726
+ 0, 120, :_reduce_115,
727
+ 2, 120, :_reduce_116,
728
+ 1, 116, :_reduce_none,
729
+ 1, 104, :_reduce_none,
730
+ 2, 104, :_reduce_119,
731
+ 1, 121, :_reduce_120,
732
+ 3, 121, :_reduce_121,
733
+ 0, 119, :_reduce_122,
734
+ 2, 119, :_reduce_123,
735
+ 1, 122, :_reduce_none,
736
+ 1, 122, :_reduce_none,
737
+ 1, 122, :_reduce_none,
738
+ 1, 122, :_reduce_none,
739
+ 1, 122, :_reduce_none,
740
+ 1, 122, :_reduce_none,
741
+ 1, 122, :_reduce_none,
742
+ 1, 122, :_reduce_none,
743
+ 3, 128, :_reduce_132,
744
+ 5, 123, :_reduce_133,
745
+ 7, 124, :_reduce_134,
746
+ 7, 125, :_reduce_135,
747
+ 2, 126, :_reduce_136,
748
+ 5, 126, :_reduce_137,
749
+ 2, 127, :_reduce_138,
750
+ 5, 127, :_reduce_139,
751
+ 5, 129, :_reduce_140,
752
+ 5, 130, :_reduce_141,
753
+ 0, 134, :_reduce_142,
754
+ 2, 134, :_reduce_143,
755
+ 3, 134, :_reduce_144,
756
+ 0, 131, :_reduce_145,
757
+ 3, 131, :_reduce_146,
758
+ 1, 135, :_reduce_147,
759
+ 3, 135, :_reduce_148,
760
+ 1, 136, :_reduce_149,
761
+ 1, 136, :_reduce_150,
762
+ 0, 118, :_reduce_151,
763
+ 2, 118, :_reduce_152,
764
+ 1, 137, :_reduce_153,
765
+ 4, 137, :_reduce_154,
766
+ 0, 79, :_reduce_155,
767
+ 3, 79, :_reduce_156,
768
+ 1, 138, :_reduce_157,
769
+ 3, 138, :_reduce_158,
770
+ 0, 117, :_reduce_159,
771
+ 2, 117, :_reduce_160,
772
+ 4, 139, :_reduce_161,
773
+ 1, 133, :_reduce_162,
774
+ 3, 133, :_reduce_163,
775
+ 1, 132, :_reduce_none,
776
+ 1, 132, :_reduce_none,
777
+ 1, 132, :_reduce_none,
778
+ 1, 132, :_reduce_none,
779
+ 1, 132, :_reduce_none,
780
+ 1, 132, :_reduce_none,
781
+ 1, 132, :_reduce_none,
782
+ 1, 132, :_reduce_none,
783
+ 1, 132, :_reduce_172,
784
+ 2, 132, :_reduce_173,
785
+ 2, 132, :_reduce_174,
786
+ 2, 132, :_reduce_175,
787
+ 2, 132, :_reduce_176,
788
+ 2, 132, :_reduce_177,
789
+ 1, 140, :_reduce_none,
790
+ 1, 140, :_reduce_none,
791
+ 1, 140, :_reduce_none,
792
+ 1, 140, :_reduce_none,
793
+ 1, 140, :_reduce_none,
794
+ 1, 140, :_reduce_none,
795
+ 1, 140, :_reduce_none,
796
+ 1, 140, :_reduce_none,
797
+ 1, 140, :_reduce_none,
798
+ 1, 140, :_reduce_none,
799
+ 1, 140, :_reduce_none,
800
+ 1, 140, :_reduce_none,
801
+ 1, 140, :_reduce_none,
802
+ 1, 140, :_reduce_none,
803
+ 1, 140, :_reduce_none,
804
+ 1, 140, :_reduce_none,
805
+ 1, 140, :_reduce_none,
806
+ 1, 140, :_reduce_none,
807
+ 1, 140, :_reduce_none,
808
+ 1, 140, :_reduce_none,
809
+ 1, 140, :_reduce_none,
810
+ 1, 140, :_reduce_none,
811
+ 1, 140, :_reduce_200,
812
+ 1, 140, :_reduce_201,
813
+ 1, 140, :_reduce_none,
814
+ 1, 140, :_reduce_none,
815
+ 1, 140, :_reduce_none,
816
+ 5, 77, :_reduce_205,
817
+ 5, 77, :_reduce_206,
818
+ 4, 77, :_reduce_207,
819
+ 4, 77, :_reduce_208,
820
+ 4, 77, :_reduce_209,
821
+ 5, 77, :_reduce_210,
822
+ 4, 77, :_reduce_211,
823
+ 4, 77, :_reduce_212,
824
+ 5, 77, :_reduce_213,
825
+ 3, 77, :_reduce_214,
826
+ 2, 77, :_reduce_215,
827
+ 4, 77, :_reduce_216,
828
+ 3, 142, :_reduce_217,
829
+ 1, 142, :_reduce_218,
830
+ 1, 143, :_reduce_219,
831
+ 3, 143, :_reduce_220,
832
+ 3, 143, :_reduce_221,
833
+ 1, 141, :_reduce_222 ]
834
+
835
+ racc_reduce_n = 223
836
+
837
+ racc_shift_n = 388
953
838
 
954
839
  racc_token_table = {
955
840
  false => 0,
@@ -986,43 +871,47 @@ racc_token_table = {
986
871
  :LBRACKET => 31,
987
872
  :RBRACKET => 32,
988
873
  :INTERFACE_NAME => 33,
989
- :DOT => 34,
990
- :CONSTRUCTOR => 35,
991
- :NOCONSTRUCTOR => 36,
992
- :BAR => 37,
993
- :IDENT => 38,
994
- :MODULE_NAME => 39,
995
- :BLOCK => 40,
996
- :INCLUDE => 41,
997
- :IVAR => 42,
998
- :GVAR => 43,
999
- :INTERFACE => 44,
1000
- :END => 45,
1001
- :EXTENSION => 46,
1002
- :UIDENT => 47,
1003
- :COLON2 => 48,
1004
- :IVAR_NAME => 49,
1005
- :DEF => 50,
1006
- :EXTEND => 51,
1007
- :ATTR_READER => 52,
1008
- :ATTR_ACCESSOR => 53,
1009
- :LTCOLON => 54,
1010
- :PERCENT => 55,
1011
- :MINUS => 56,
1012
- :EQ => 57,
1013
- :BANG => 58,
1014
- :PLUS => 59,
1015
- :OPERATOR => 60,
1016
- :BREAK => 61,
1017
- :METHOD => 62,
1018
- :AT_TYPE => 63,
1019
- :VAR => 64,
1020
- :RETURN => 65,
1021
- :CONST => 66,
1022
- :AT_IMPLEMENTS => 67,
1023
- :AT_DYNAMIC => 68 }
1024
-
1025
- racc_nt_base = 69
874
+ :LIDENT => 34,
875
+ :DOT => 35,
876
+ :CONSTRUCTOR => 36,
877
+ :NOCONSTRUCTOR => 37,
878
+ :HAT => 38,
879
+ :BAR => 39,
880
+ :MODULE_NAME => 40,
881
+ :BLOCK => 41,
882
+ :INCLUDE => 42,
883
+ :IVAR => 43,
884
+ :TYPE => 44,
885
+ :GVAR => 45,
886
+ :INTERFACE => 46,
887
+ :END => 47,
888
+ :EXTENSION => 48,
889
+ :UIDENT => 49,
890
+ :EQ => 50,
891
+ :COLON2 => 51,
892
+ :IVAR_NAME => 52,
893
+ :DEF => 53,
894
+ :EXTEND => 54,
895
+ :ATTR_READER => 55,
896
+ :ATTR_ACCESSOR => 56,
897
+ :INCOMPATIBLE => 57,
898
+ :LTCOLON => 58,
899
+ :PERCENT => 59,
900
+ :MINUS => 60,
901
+ :UMINUS => 61,
902
+ :BANG => 62,
903
+ :PLUS => 63,
904
+ :OPERATOR => 64,
905
+ :BREAK => 65,
906
+ :METHOD => 66,
907
+ :AT_TYPE => 67,
908
+ :VAR => 68,
909
+ :RETURN => 69,
910
+ :CONST => 70,
911
+ :AT_IMPLEMENTS => 71,
912
+ :AT_DYNAMIC => 72 }
913
+
914
+ racc_nt_base = 73
1026
915
 
1027
916
  racc_use_result_var = true
1028
917
 
@@ -1077,30 +966,34 @@ Racc_token_to_s_table = [
1077
966
  "LBRACKET",
1078
967
  "RBRACKET",
1079
968
  "INTERFACE_NAME",
969
+ "LIDENT",
1080
970
  "DOT",
1081
971
  "CONSTRUCTOR",
1082
972
  "NOCONSTRUCTOR",
973
+ "HAT",
1083
974
  "BAR",
1084
- "IDENT",
1085
975
  "MODULE_NAME",
1086
976
  "BLOCK",
1087
977
  "INCLUDE",
1088
978
  "IVAR",
979
+ "TYPE",
1089
980
  "GVAR",
1090
981
  "INTERFACE",
1091
982
  "END",
1092
983
  "EXTENSION",
1093
984
  "UIDENT",
985
+ "EQ",
1094
986
  "COLON2",
1095
987
  "IVAR_NAME",
1096
988
  "DEF",
1097
989
  "EXTEND",
1098
990
  "ATTR_READER",
1099
991
  "ATTR_ACCESSOR",
992
+ "INCOMPATIBLE",
1100
993
  "LTCOLON",
1101
994
  "PERCENT",
1102
995
  "MINUS",
1103
- "EQ",
996
+ "UMINUS",
1104
997
  "BANG",
1105
998
  "PLUS",
1106
999
  "OPERATOR",
@@ -1135,22 +1028,26 @@ Racc_token_to_s_table = [
1135
1028
  "optional_keyword",
1136
1029
  "params4",
1137
1030
  "keyword",
1031
+ "block_optional",
1138
1032
  "block_params",
1139
1033
  "block_params0",
1140
1034
  "block_params1",
1141
1035
  "block_params2",
1142
1036
  "type_name",
1143
- "instance_type_name",
1037
+ "application_type_name",
1144
1038
  "type_seq",
1145
1039
  "module_name",
1146
1040
  "constructor",
1147
1041
  "union_seq",
1042
+ "lambda_params",
1043
+ "lambda_params1",
1148
1044
  "interface",
1149
1045
  "class_decl",
1150
1046
  "module_decl",
1151
1047
  "extension_decl",
1152
1048
  "const_decl",
1153
1049
  "gvar_decl",
1050
+ "alias_decl",
1154
1051
  "interface_name",
1155
1052
  "interface_members",
1156
1053
  "super_opt",
@@ -1166,10 +1063,12 @@ Racc_token_to_s_table = [
1166
1063
  "ivar_member",
1167
1064
  "attr_reader_member",
1168
1065
  "attr_accessor_member",
1169
- "constructor_method",
1066
+ "method_annotations",
1170
1067
  "method_name",
1171
1068
  "method_type_union",
1172
1069
  "attr_ivar_opt",
1070
+ "method_annotation_seq",
1071
+ "method_annotation_keyword",
1173
1072
  "super_class",
1174
1073
  "type_param_seq",
1175
1074
  "interface_method",
@@ -1437,39 +1336,55 @@ module_eval(<<'.,.,', 'parser.y', 95)
1437
1336
  def _reduce_32(val, _values, result)
1438
1337
  result = AST::MethodType::Block.new(params: nil,
1439
1338
  return_type: nil,
1440
- location: val[0].location + val[1].location)
1339
+ location: (val[0] || val[1]).location + val[2].location,
1340
+ optional: val[0]&.value || false)
1441
1341
 
1442
1342
  result
1443
1343
  end
1444
1344
  .,.,
1445
1345
 
1446
- module_eval(<<'.,.,', 'parser.y', 100)
1346
+ module_eval(<<'.,.,', 'parser.y', 101)
1447
1347
  def _reduce_33(val, _values, result)
1448
- result = AST::MethodType::Block.new(params: val[1],
1449
- return_type: val[3],
1450
- location: val[0].location + val[4].location)
1348
+ result = AST::MethodType::Block.new(params: val[2],
1349
+ return_type: val[4],
1350
+ location: (val[0] || val[1]).location + val[5].location,
1351
+ optional: val[0]&.value || false)
1451
1352
 
1452
1353
  result
1453
1354
  end
1454
1355
  .,.,
1455
1356
 
1456
- module_eval(<<'.,.,', 'parser.y', 105)
1357
+ module_eval(<<'.,.,', 'parser.y', 107)
1457
1358
  def _reduce_34(val, _values, result)
1458
1359
  result = nil
1459
1360
  result
1460
1361
  end
1461
1362
  .,.,
1462
1363
 
1463
- module_eval(<<'.,.,', 'parser.y', 107)
1364
+ module_eval(<<'.,.,', 'parser.y', 108)
1464
1365
  def _reduce_35(val, _values, result)
1366
+ result = LocatedValue.new(location: val[0].location, value: true)
1367
+ result
1368
+ end
1369
+ .,.,
1370
+
1371
+ module_eval(<<'.,.,', 'parser.y', 110)
1372
+ def _reduce_36(val, _values, result)
1373
+ result = nil
1374
+ result
1375
+ end
1376
+ .,.,
1377
+
1378
+ module_eval(<<'.,.,', 'parser.y', 112)
1379
+ def _reduce_37(val, _values, result)
1465
1380
  result = val[1]
1466
1381
 
1467
1382
  result
1468
1383
  end
1469
1384
  .,.,
1470
1385
 
1471
- module_eval(<<'.,.,', 'parser.y', 111)
1472
- def _reduce_36(val, _values, result)
1386
+ module_eval(<<'.,.,', 'parser.y', 116)
1387
+ def _reduce_38(val, _values, result)
1473
1388
  result = AST::MethodType::Params::Required.new(location: val[0].location,
1474
1389
  type: val[0])
1475
1390
 
@@ -1477,8 +1392,8 @@ module_eval(<<'.,.,', 'parser.y', 111)
1477
1392
  end
1478
1393
  .,.,
1479
1394
 
1480
- module_eval(<<'.,.,', 'parser.y', 115)
1481
- def _reduce_37(val, _values, result)
1395
+ module_eval(<<'.,.,', 'parser.y', 120)
1396
+ def _reduce_39(val, _values, result)
1482
1397
  result = AST::MethodType::Params::Required.new(location: val[0].location,
1483
1398
  type: val[0],
1484
1399
  next_params: val[2])
@@ -1487,15 +1402,15 @@ module_eval(<<'.,.,', 'parser.y', 115)
1487
1402
  end
1488
1403
  .,.,
1489
1404
 
1490
- module_eval(<<'.,.,', 'parser.y', 119)
1491
- def _reduce_38(val, _values, result)
1405
+ module_eval(<<'.,.,', 'parser.y', 124)
1406
+ def _reduce_40(val, _values, result)
1492
1407
  result = val[0]
1493
1408
  result
1494
1409
  end
1495
1410
  .,.,
1496
1411
 
1497
- module_eval(<<'.,.,', 'parser.y', 122)
1498
- def _reduce_39(val, _values, result)
1412
+ module_eval(<<'.,.,', 'parser.y', 127)
1413
+ def _reduce_41(val, _values, result)
1499
1414
  result = AST::MethodType::Params::Optional.new(location: val[0].first,
1500
1415
  type: val[0].last)
1501
1416
 
@@ -1503,8 +1418,8 @@ module_eval(<<'.,.,', 'parser.y', 122)
1503
1418
  end
1504
1419
  .,.,
1505
1420
 
1506
- module_eval(<<'.,.,', 'parser.y', 126)
1507
- def _reduce_40(val, _values, result)
1421
+ module_eval(<<'.,.,', 'parser.y', 131)
1422
+ def _reduce_42(val, _values, result)
1508
1423
  loc = val.first[0] + (val[2] || val[1]).location
1509
1424
  type = val.first[1]
1510
1425
  next_params = val[2]
@@ -1514,38 +1429,38 @@ module_eval(<<'.,.,', 'parser.y', 126)
1514
1429
  end
1515
1430
  .,.,
1516
1431
 
1517
- module_eval(<<'.,.,', 'parser.y', 131)
1518
- def _reduce_41(val, _values, result)
1432
+ module_eval(<<'.,.,', 'parser.y', 136)
1433
+ def _reduce_43(val, _values, result)
1519
1434
  result = val[0]
1520
1435
  result
1521
1436
  end
1522
1437
  .,.,
1523
1438
 
1524
- module_eval(<<'.,.,', 'parser.y', 133)
1525
- def _reduce_42(val, _values, result)
1439
+ module_eval(<<'.,.,', 'parser.y', 138)
1440
+ def _reduce_44(val, _values, result)
1526
1441
  result = nil
1527
1442
  result
1528
1443
  end
1529
1444
  .,.,
1530
1445
 
1531
- module_eval(<<'.,.,', 'parser.y', 135)
1532
- def _reduce_43(val, _values, result)
1446
+ module_eval(<<'.,.,', 'parser.y', 140)
1447
+ def _reduce_45(val, _values, result)
1533
1448
  result = AST::MethodType::Params::Rest.new(location: val[0].first, type: val[0].last)
1534
1449
 
1535
1450
  result
1536
1451
  end
1537
1452
  .,.,
1538
1453
 
1539
- module_eval(<<'.,.,', 'parser.y', 139)
1540
- def _reduce_44(val, _values, result)
1454
+ module_eval(<<'.,.,', 'parser.y', 144)
1455
+ def _reduce_46(val, _values, result)
1541
1456
  result = AST::Types::Name.new(name: val[0].value, location: val[0].location, args: [])
1542
1457
 
1543
1458
  result
1544
1459
  end
1545
1460
  .,.,
1546
1461
 
1547
- module_eval(<<'.,.,', 'parser.y', 142)
1548
- def _reduce_45(val, _values, result)
1462
+ module_eval(<<'.,.,', 'parser.y', 147)
1463
+ def _reduce_47(val, _values, result)
1549
1464
  loc = val[0].location + val[3].location
1550
1465
  name = val[0].value
1551
1466
  args = val[2]
@@ -1555,71 +1470,71 @@ module_eval(<<'.,.,', 'parser.y', 142)
1555
1470
  end
1556
1471
  .,.,
1557
1472
 
1558
- module_eval(<<'.,.,', 'parser.y', 147)
1559
- def _reduce_46(val, _values, result)
1473
+ module_eval(<<'.,.,', 'parser.y', 152)
1474
+ def _reduce_48(val, _values, result)
1560
1475
  result = AST::Types::Any.new(location: val[0].location)
1561
1476
  result
1562
1477
  end
1563
1478
  .,.,
1564
1479
 
1565
- module_eval(<<'.,.,', 'parser.y', 148)
1566
- def _reduce_47(val, _values, result)
1480
+ module_eval(<<'.,.,', 'parser.y', 153)
1481
+ def _reduce_49(val, _values, result)
1567
1482
  result = AST::Types::Var.new(location: val[0].location, name: val[0].value)
1568
1483
  result
1569
1484
  end
1570
1485
  .,.,
1571
1486
 
1572
- module_eval(<<'.,.,', 'parser.y', 149)
1573
- def _reduce_48(val, _values, result)
1487
+ module_eval(<<'.,.,', 'parser.y', 154)
1488
+ def _reduce_50(val, _values, result)
1574
1489
  result = AST::Types::Class.new(location: val[0].location)
1575
1490
  result
1576
1491
  end
1577
1492
  .,.,
1578
1493
 
1579
- module_eval(<<'.,.,', 'parser.y', 150)
1580
- def _reduce_49(val, _values, result)
1494
+ module_eval(<<'.,.,', 'parser.y', 155)
1495
+ def _reduce_51(val, _values, result)
1581
1496
  result = AST::Types::Class.new(location: val[0].location)
1582
1497
  result
1583
1498
  end
1584
1499
  .,.,
1585
1500
 
1586
- module_eval(<<'.,.,', 'parser.y', 151)
1587
- def _reduce_50(val, _values, result)
1501
+ module_eval(<<'.,.,', 'parser.y', 156)
1502
+ def _reduce_52(val, _values, result)
1588
1503
  result = AST::Types::Instance.new(location: val[0].location)
1589
1504
  result
1590
1505
  end
1591
1506
  .,.,
1592
1507
 
1593
- module_eval(<<'.,.,', 'parser.y', 152)
1594
- def _reduce_51(val, _values, result)
1508
+ module_eval(<<'.,.,', 'parser.y', 157)
1509
+ def _reduce_53(val, _values, result)
1595
1510
  result = AST::Types::Self.new(location: val[0].location)
1596
1511
  result
1597
1512
  end
1598
1513
  .,.,
1599
1514
 
1600
- module_eval(<<'.,.,', 'parser.y', 153)
1601
- def _reduce_52(val, _values, result)
1515
+ module_eval(<<'.,.,', 'parser.y', 158)
1516
+ def _reduce_54(val, _values, result)
1602
1517
  result = AST::Types::Void.new(location: val[0].location)
1603
1518
  result
1604
1519
  end
1605
1520
  .,.,
1606
1521
 
1607
- module_eval(<<'.,.,', 'parser.y', 154)
1608
- def _reduce_53(val, _values, result)
1522
+ module_eval(<<'.,.,', 'parser.y', 159)
1523
+ def _reduce_55(val, _values, result)
1609
1524
  result = AST::Types::Nil.new(location: val[0].location)
1610
1525
  result
1611
1526
  end
1612
1527
  .,.,
1613
1528
 
1614
- module_eval(<<'.,.,', 'parser.y', 155)
1615
- def _reduce_54(val, _values, result)
1529
+ module_eval(<<'.,.,', 'parser.y', 160)
1530
+ def _reduce_56(val, _values, result)
1616
1531
  result = AST::Types::Boolean.new(location: val[0].location)
1617
1532
  result
1618
1533
  end
1619
1534
  .,.,
1620
1535
 
1621
- module_eval(<<'.,.,', 'parser.y', 157)
1622
- def _reduce_55(val, _values, result)
1536
+ module_eval(<<'.,.,', 'parser.y', 162)
1537
+ def _reduce_57(val, _values, result)
1623
1538
  type = val[0]
1624
1539
  nil_type = AST::Types::Nil.new(location: val[1].location)
1625
1540
  result = AST::Types::Union.build(types: [type, nil_type], location: val[0].location + val[1].location)
@@ -1628,8 +1543,8 @@ module_eval(<<'.,.,', 'parser.y', 157)
1628
1543
  end
1629
1544
  .,.,
1630
1545
 
1631
- module_eval(<<'.,.,', 'parser.y', 162)
1632
- def _reduce_56(val, _values, result)
1546
+ module_eval(<<'.,.,', 'parser.y', 167)
1547
+ def _reduce_58(val, _values, result)
1633
1548
  type = AST::Types::Self.new(location: val[0].location)
1634
1549
  nil_type = AST::Types::Nil.new(location: val[0].location)
1635
1550
  result = AST::Types::Union.build(types: [type, nil_type], location: val[0].location)
@@ -1638,29 +1553,29 @@ module_eval(<<'.,.,', 'parser.y', 162)
1638
1553
  end
1639
1554
  .,.,
1640
1555
 
1641
- module_eval(<<'.,.,', 'parser.y', 166)
1642
- def _reduce_57(val, _values, result)
1556
+ module_eval(<<'.,.,', 'parser.y', 171)
1557
+ def _reduce_59(val, _values, result)
1643
1558
  result = AST::Types::Literal.new(value: val[0].value, location: val[0].location)
1644
1559
  result
1645
1560
  end
1646
1561
  .,.,
1647
1562
 
1648
- module_eval(<<'.,.,', 'parser.y', 167)
1649
- def _reduce_58(val, _values, result)
1563
+ module_eval(<<'.,.,', 'parser.y', 172)
1564
+ def _reduce_60(val, _values, result)
1650
1565
  result = AST::Types::Literal.new(value: val[0].value, location: val[0].location)
1651
1566
  result
1652
1567
  end
1653
1568
  .,.,
1654
1569
 
1655
- module_eval(<<'.,.,', 'parser.y', 168)
1656
- def _reduce_59(val, _values, result)
1570
+ module_eval(<<'.,.,', 'parser.y', 173)
1571
+ def _reduce_61(val, _values, result)
1657
1572
  result = AST::Types::Literal.new(value: val[0].value, location: val[0].location)
1658
1573
  result
1659
1574
  end
1660
1575
  .,.,
1661
1576
 
1662
- module_eval(<<'.,.,', 'parser.y', 170)
1663
- def _reduce_60(val, _values, result)
1577
+ module_eval(<<'.,.,', 'parser.y', 175)
1578
+ def _reduce_62(val, _values, result)
1664
1579
  loc = val[0].location + val[2].location
1665
1580
  result = AST::Types::Tuple.new(types: val[1], location: loc)
1666
1581
 
@@ -1668,37 +1583,46 @@ module_eval(<<'.,.,', 'parser.y', 170)
1668
1583
  end
1669
1584
  .,.,
1670
1585
 
1671
- module_eval(<<'.,.,', 'parser.y', 174)
1672
- def _reduce_61(val, _values, result)
1586
+ module_eval(<<'.,.,', 'parser.y', 179)
1587
+ def _reduce_63(val, _values, result)
1673
1588
  result = val[1].with_location(val[0].location + val[2].location)
1674
1589
  result
1675
1590
  end
1676
1591
  .,.,
1677
1592
 
1678
- # reduce 62 omitted
1593
+ # reduce 64 omitted
1679
1594
 
1680
- module_eval(<<'.,.,', 'parser.y', 178)
1681
- def _reduce_63(val, _values, result)
1682
- result = LocatedValue.new(value: TypeName::Instance.new(name: val[0].value),
1683
- location: val[0].location)
1684
-
1595
+ module_eval(<<'.,.,', 'parser.y', 183)
1596
+ def _reduce_65(val, _values, result)
1597
+ result = LocatedValue.new(value: TypeName::Instance.new(name: val[0].value),
1598
+ location: val[0].location)
1599
+
1685
1600
  result
1686
1601
  end
1687
1602
  .,.,
1688
1603
 
1689
- module_eval(<<'.,.,', 'parser.y', 182)
1690
- def _reduce_64(val, _values, result)
1691
- result = LocatedValue.new(value: TypeName::Interface.new(name: val[0].value),
1692
- location: val[0].location)
1693
-
1604
+ module_eval(<<'.,.,', 'parser.y', 187)
1605
+ def _reduce_66(val, _values, result)
1606
+ result = LocatedValue.new(value: TypeName::Interface.new(name: val[0].value),
1607
+ location: val[0].location)
1608
+
1609
+ result
1610
+ end
1611
+ .,.,
1612
+
1613
+ module_eval(<<'.,.,', 'parser.y', 191)
1614
+ def _reduce_67(val, _values, result)
1615
+ result = LocatedValue.new(value: TypeName::Alias.new(name: val[0].value),
1616
+ location: val[0].location)
1617
+
1694
1618
  result
1695
1619
  end
1696
1620
  .,.,
1697
1621
 
1698
- # reduce 65 omitted
1622
+ # reduce 68 omitted
1699
1623
 
1700
- module_eval(<<'.,.,', 'parser.y', 188)
1701
- def _reduce_66(val, _values, result)
1624
+ module_eval(<<'.,.,', 'parser.y', 197)
1625
+ def _reduce_69(val, _values, result)
1702
1626
  loc = val[0].location + (val[3] || val[2]).location
1703
1627
  result = LocatedValue.new(value: TypeName::Class.new(name: val[0].value, constructor: val[3]&.value),
1704
1628
  location: loc)
@@ -1707,8 +1631,8 @@ module_eval(<<'.,.,', 'parser.y', 188)
1707
1631
  end
1708
1632
  .,.,
1709
1633
 
1710
- module_eval(<<'.,.,', 'parser.y', 193)
1711
- def _reduce_67(val, _values, result)
1634
+ module_eval(<<'.,.,', 'parser.y', 202)
1635
+ def _reduce_70(val, _values, result)
1712
1636
  loc = val[0].location + val.last.location
1713
1637
  result = LocatedValue.new(value: TypeName::Module.new(name: val[0].value),
1714
1638
  location: loc)
@@ -1717,21 +1641,31 @@ module_eval(<<'.,.,', 'parser.y', 193)
1717
1641
  end
1718
1642
  .,.,
1719
1643
 
1720
- module_eval(<<'.,.,', 'parser.y', 198)
1721
- def _reduce_68(val, _values, result)
1644
+ module_eval(<<'.,.,', 'parser.y', 207)
1645
+ def _reduce_71(val, _values, result)
1722
1646
  result = nil
1723
1647
  result
1724
1648
  end
1725
1649
  .,.,
1726
1650
 
1727
- # reduce 69 omitted
1651
+ module_eval(<<'.,.,', 'parser.y', 208)
1652
+ def _reduce_72(val, _values, result)
1653
+ result = LocatedValue.new(location: val[0].location, value: true)
1654
+ result
1655
+ end
1656
+ .,.,
1728
1657
 
1729
- # reduce 70 omitted
1658
+ module_eval(<<'.,.,', 'parser.y', 209)
1659
+ def _reduce_73(val, _values, result)
1660
+ result = LocatedValue.new(location: val[0].location, value: false)
1661
+ result
1662
+ end
1663
+ .,.,
1730
1664
 
1731
- # reduce 71 omitted
1665
+ # reduce 74 omitted
1732
1666
 
1733
- module_eval(<<'.,.,', 'parser.y', 204)
1734
- def _reduce_72(val, _values, result)
1667
+ module_eval(<<'.,.,', 'parser.y', 213)
1668
+ def _reduce_75(val, _values, result)
1735
1669
  loc = val[0].first.location + val[0].last.location
1736
1670
  result = AST::Types::Union.build(types: val[0], location: loc)
1737
1671
 
@@ -1739,107 +1673,170 @@ module_eval(<<'.,.,', 'parser.y', 204)
1739
1673
  end
1740
1674
  .,.,
1741
1675
 
1742
- module_eval(<<'.,.,', 'parser.y', 208)
1743
- def _reduce_73(val, _values, result)
1676
+ module_eval(<<'.,.,', 'parser.y', 217)
1677
+ def _reduce_76(val, _values, result)
1678
+ loc = val[0].location + val[5].location
1679
+ result = AST::Types::Proc.new(params: val[2], return_type: val[5], location: loc)
1680
+
1681
+ result
1682
+ end
1683
+ .,.,
1684
+
1685
+ # reduce 77 omitted
1686
+
1687
+ module_eval(<<'.,.,', 'parser.y', 222)
1688
+ def _reduce_78(val, _values, result)
1689
+ result = Interface::Params.empty.update(required: [val[0]])
1690
+ result
1691
+ end
1692
+ .,.,
1693
+
1694
+ module_eval(<<'.,.,', 'parser.y', 224)
1695
+ def _reduce_79(val, _values, result)
1696
+ result = val[2].update(required: [val[0]] + val[2].required)
1697
+
1698
+ result
1699
+ end
1700
+ .,.,
1701
+
1702
+ module_eval(<<'.,.,', 'parser.y', 227)
1703
+ def _reduce_80(val, _values, result)
1704
+ result = Interface::Params.empty
1705
+ result
1706
+ end
1707
+ .,.,
1708
+
1709
+ module_eval(<<'.,.,', 'parser.y', 228)
1710
+ def _reduce_81(val, _values, result)
1711
+ result = Interface::Params.empty.update(rest: val[1])
1712
+ result
1713
+ end
1714
+ .,.,
1715
+
1716
+ module_eval(<<'.,.,', 'parser.y', 229)
1717
+ def _reduce_82(val, _values, result)
1718
+ result = Interface::Params.empty.update(optional: [val[1]])
1719
+ result
1720
+ end
1721
+ .,.,
1722
+
1723
+ module_eval(<<'.,.,', 'parser.y', 230)
1724
+ def _reduce_83(val, _values, result)
1725
+ result = val[3].update(optional: [val[1]] + val[3].optional)
1726
+ result
1727
+ end
1728
+ .,.,
1729
+
1730
+ module_eval(<<'.,.,', 'parser.y', 233)
1731
+ def _reduce_84(val, _values, result)
1744
1732
  result = [val[0]]
1745
1733
  result
1746
1734
  end
1747
1735
  .,.,
1748
1736
 
1749
- module_eval(<<'.,.,', 'parser.y', 209)
1750
- def _reduce_74(val, _values, result)
1737
+ module_eval(<<'.,.,', 'parser.y', 234)
1738
+ def _reduce_85(val, _values, result)
1751
1739
  result = [val[0]] + val[2]
1752
1740
  result
1753
1741
  end
1754
1742
  .,.,
1755
1743
 
1756
- module_eval(<<'.,.,', 'parser.y', 211)
1757
- def _reduce_75(val, _values, result)
1744
+ module_eval(<<'.,.,', 'parser.y', 236)
1745
+ def _reduce_86(val, _values, result)
1758
1746
  result = [val[0], val[2]]
1759
1747
  result
1760
1748
  end
1761
1749
  .,.,
1762
1750
 
1763
- module_eval(<<'.,.,', 'parser.y', 212)
1764
- def _reduce_76(val, _values, result)
1751
+ module_eval(<<'.,.,', 'parser.y', 237)
1752
+ def _reduce_87(val, _values, result)
1765
1753
  result = [val[0]] + val[2]
1766
1754
  result
1767
1755
  end
1768
1756
  .,.,
1769
1757
 
1770
- # reduce 77 omitted
1758
+ # reduce 88 omitted
1759
+
1760
+ # reduce 89 omitted
1771
1761
 
1772
- # reduce 78 omitted
1762
+ # reduce 90 omitted
1773
1763
 
1774
- # reduce 79 omitted
1764
+ # reduce 91 omitted
1775
1765
 
1776
- # reduce 80 omitted
1766
+ # reduce 92 omitted
1777
1767
 
1778
- # reduce 81 omitted
1768
+ # reduce 93 omitted
1779
1769
 
1780
- # reduce 82 omitted
1770
+ # reduce 94 omitted
1781
1771
 
1782
- # reduce 83 omitted
1772
+ # reduce 95 omitted
1783
1773
 
1784
- # reduce 84 omitted
1774
+ # reduce 96 omitted
1785
1775
 
1786
- # reduce 85 omitted
1776
+ # reduce 97 omitted
1787
1777
 
1788
- # reduce 86 omitted
1778
+ # reduce 98 omitted
1789
1779
 
1790
- # reduce 87 omitted
1780
+ # reduce 99 omitted
1791
1781
 
1792
- module_eval(<<'.,.,', 'parser.y', 226)
1793
- def _reduce_88(val, _values, result)
1782
+ module_eval(<<'.,.,', 'parser.y', 252)
1783
+ def _reduce_100(val, _values, result)
1794
1784
  result = []
1795
1785
  result
1796
1786
  end
1797
1787
  .,.,
1798
1788
 
1799
- module_eval(<<'.,.,', 'parser.y', 227)
1800
- def _reduce_89(val, _values, result)
1789
+ module_eval(<<'.,.,', 'parser.y', 253)
1790
+ def _reduce_101(val, _values, result)
1801
1791
  result = [val[0]] + val[1]
1802
1792
  result
1803
1793
  end
1804
1794
  .,.,
1805
1795
 
1806
- module_eval(<<'.,.,', 'parser.y', 228)
1807
- def _reduce_90(val, _values, result)
1796
+ module_eval(<<'.,.,', 'parser.y', 254)
1797
+ def _reduce_102(val, _values, result)
1808
1798
  result = [val[0]] + val[1]
1809
1799
  result
1810
1800
  end
1811
1801
  .,.,
1812
1802
 
1813
- module_eval(<<'.,.,', 'parser.y', 229)
1814
- def _reduce_91(val, _values, result)
1803
+ module_eval(<<'.,.,', 'parser.y', 255)
1804
+ def _reduce_103(val, _values, result)
1815
1805
  result = [val[0]] + val[1]
1816
1806
  result
1817
1807
  end
1818
1808
  .,.,
1819
1809
 
1820
- module_eval(<<'.,.,', 'parser.y', 230)
1821
- def _reduce_92(val, _values, result)
1810
+ module_eval(<<'.,.,', 'parser.y', 256)
1811
+ def _reduce_104(val, _values, result)
1812
+ result = [val[0]] + val[1]
1813
+ result
1814
+ end
1815
+ .,.,
1816
+
1817
+ module_eval(<<'.,.,', 'parser.y', 257)
1818
+ def _reduce_105(val, _values, result)
1822
1819
  result = [val[0]] + val[1]
1823
1820
  result
1824
1821
  end
1825
1822
  .,.,
1826
1823
 
1827
- module_eval(<<'.,.,', 'parser.y', 231)
1828
- def _reduce_93(val, _values, result)
1824
+ module_eval(<<'.,.,', 'parser.y', 258)
1825
+ def _reduce_106(val, _values, result)
1829
1826
  result = [val[0]] + val[1]
1830
1827
  result
1831
1828
  end
1832
1829
  .,.,
1833
1830
 
1834
- module_eval(<<'.,.,', 'parser.y', 232)
1835
- def _reduce_94(val, _values, result)
1831
+ module_eval(<<'.,.,', 'parser.y', 259)
1832
+ def _reduce_107(val, _values, result)
1836
1833
  result = [val[0]] + val[1]
1837
1834
  result
1838
1835
  end
1839
1836
  .,.,
1840
1837
 
1841
- module_eval(<<'.,.,', 'parser.y', 235)
1842
- def _reduce_95(val, _values, result)
1838
+ module_eval(<<'.,.,', 'parser.y', 262)
1839
+ def _reduce_108(val, _values, result)
1843
1840
  loc = val.first.location + val.last.location
1844
1841
  result = AST::Signature::Gvar.new(
1845
1842
  location: loc,
@@ -1851,8 +1848,8 @@ module_eval(<<'.,.,', 'parser.y', 235)
1851
1848
  end
1852
1849
  .,.,
1853
1850
 
1854
- module_eval(<<'.,.,', 'parser.y', 244)
1855
- def _reduce_96(val, _values, result)
1851
+ module_eval(<<'.,.,', 'parser.y', 271)
1852
+ def _reduce_109(val, _values, result)
1856
1853
  loc = val.first.location + val.last.location
1857
1854
  result = AST::Signature::Const.new(
1858
1855
  location: loc,
@@ -1864,8 +1861,8 @@ module_eval(<<'.,.,', 'parser.y', 244)
1864
1861
  end
1865
1862
  .,.,
1866
1863
 
1867
- module_eval(<<'.,.,', 'parser.y', 253)
1868
- def _reduce_97(val, _values, result)
1864
+ module_eval(<<'.,.,', 'parser.y', 280)
1865
+ def _reduce_110(val, _values, result)
1869
1866
  loc = val.first.location + val.last.location
1870
1867
  result = AST::Signature::Interface.new(
1871
1868
  location: loc,
@@ -1878,8 +1875,8 @@ module_eval(<<'.,.,', 'parser.y', 253)
1878
1875
  end
1879
1876
  .,.,
1880
1877
 
1881
- module_eval(<<'.,.,', 'parser.y', 263)
1882
- def _reduce_98(val, _values, result)
1878
+ module_eval(<<'.,.,', 'parser.y', 290)
1879
+ def _reduce_111(val, _values, result)
1883
1880
  loc = val.first.location + val.last.location
1884
1881
  result = AST::Signature::Class.new(name: val[1].value.absolute!,
1885
1882
  params: val[2],
@@ -1891,8 +1888,8 @@ module_eval(<<'.,.,', 'parser.y', 263)
1891
1888
  end
1892
1889
  .,.,
1893
1890
 
1894
- module_eval(<<'.,.,', 'parser.y', 271)
1895
- def _reduce_99(val, _values, result)
1891
+ module_eval(<<'.,.,', 'parser.y', 298)
1892
+ def _reduce_112(val, _values, result)
1896
1893
  loc = val.first.location + val.last.location
1897
1894
  result = AST::Signature::Module.new(name: val[1].value.absolute!,
1898
1895
  location: loc,
@@ -1904,8 +1901,8 @@ module_eval(<<'.,.,', 'parser.y', 271)
1904
1901
  end
1905
1902
  .,.,
1906
1903
 
1907
- module_eval(<<'.,.,', 'parser.y', 279)
1908
- def _reduce_100(val, _values, result)
1904
+ module_eval(<<'.,.,', 'parser.y', 306)
1905
+ def _reduce_113(val, _values, result)
1909
1906
  loc = val.first.location + val.last.location
1910
1907
  result = AST::Signature::Extension.new(module_name: val[1].value.absolute!,
1911
1908
  name: val[4].value,
@@ -1917,26 +1914,38 @@ module_eval(<<'.,.,', 'parser.y', 279)
1917
1914
  end
1918
1915
  .,.,
1919
1916
 
1920
- module_eval(<<'.,.,', 'parser.y', 287)
1921
- def _reduce_101(val, _values, result)
1917
+ module_eval(<<'.,.,', 'parser.y', 315)
1918
+ def _reduce_114(val, _values, result)
1919
+ loc = val[0].location + val[4].location
1920
+ result = AST::Signature::Alias.new(location: loc,
1921
+ name: val[1].value,
1922
+ params: val[2],
1923
+ type: val[4])
1924
+
1925
+ result
1926
+ end
1927
+ .,.,
1928
+
1929
+ module_eval(<<'.,.,', 'parser.y', 322)
1930
+ def _reduce_115(val, _values, result)
1922
1931
  result = nil
1923
1932
  result
1924
1933
  end
1925
1934
  .,.,
1926
1935
 
1927
- module_eval(<<'.,.,', 'parser.y', 288)
1928
- def _reduce_102(val, _values, result)
1936
+ module_eval(<<'.,.,', 'parser.y', 323)
1937
+ def _reduce_116(val, _values, result)
1929
1938
  result = val[1]
1930
1939
  result
1931
1940
  end
1932
1941
  .,.,
1933
1942
 
1934
- # reduce 103 omitted
1943
+ # reduce 117 omitted
1935
1944
 
1936
- # reduce 104 omitted
1945
+ # reduce 118 omitted
1937
1946
 
1938
- module_eval(<<'.,.,', 'parser.y', 294)
1939
- def _reduce_105(val, _values, result)
1947
+ module_eval(<<'.,.,', 'parser.y', 329)
1948
+ def _reduce_119(val, _values, result)
1940
1949
  loc = val.first.location + val.last.location
1941
1950
  result = LocatedValue.new(location: loc, value: val[1].value.absolute!)
1942
1951
 
@@ -1944,16 +1953,16 @@ module_eval(<<'.,.,', 'parser.y', 294)
1944
1953
  end
1945
1954
  .,.,
1946
1955
 
1947
- module_eval(<<'.,.,', 'parser.y', 299)
1948
- def _reduce_106(val, _values, result)
1956
+ module_eval(<<'.,.,', 'parser.y', 334)
1957
+ def _reduce_120(val, _values, result)
1949
1958
  result = LocatedValue.new(location: val[0].location, value: ModuleName.parse(val[0].value))
1950
1959
 
1951
1960
  result
1952
1961
  end
1953
1962
  .,.,
1954
1963
 
1955
- module_eval(<<'.,.,', 'parser.y', 302)
1956
- def _reduce_107(val, _values, result)
1964
+ module_eval(<<'.,.,', 'parser.y', 337)
1965
+ def _reduce_121(val, _values, result)
1957
1966
  location = val[0].location + val.last.location
1958
1967
  name = ModuleName.parse(val[0].value) + val.last.value
1959
1968
  result = LocatedValue.new(location: location, value: name)
@@ -1962,38 +1971,38 @@ module_eval(<<'.,.,', 'parser.y', 302)
1962
1971
  end
1963
1972
  .,.,
1964
1973
 
1965
- module_eval(<<'.,.,', 'parser.y', 307)
1966
- def _reduce_108(val, _values, result)
1974
+ module_eval(<<'.,.,', 'parser.y', 342)
1975
+ def _reduce_122(val, _values, result)
1967
1976
  result = []
1968
1977
  result
1969
1978
  end
1970
1979
  .,.,
1971
1980
 
1972
- module_eval(<<'.,.,', 'parser.y', 308)
1973
- def _reduce_109(val, _values, result)
1981
+ module_eval(<<'.,.,', 'parser.y', 343)
1982
+ def _reduce_123(val, _values, result)
1974
1983
  result = [val[0]] + val[1]
1975
1984
  result
1976
1985
  end
1977
1986
  .,.,
1978
1987
 
1979
- # reduce 110 omitted
1988
+ # reduce 124 omitted
1980
1989
 
1981
- # reduce 111 omitted
1990
+ # reduce 125 omitted
1982
1991
 
1983
- # reduce 112 omitted
1992
+ # reduce 126 omitted
1984
1993
 
1985
- # reduce 113 omitted
1994
+ # reduce 127 omitted
1986
1995
 
1987
- # reduce 114 omitted
1996
+ # reduce 128 omitted
1988
1997
 
1989
- # reduce 115 omitted
1998
+ # reduce 129 omitted
1990
1999
 
1991
- # reduce 116 omitted
2000
+ # reduce 130 omitted
1992
2001
 
1993
- # reduce 117 omitted
2002
+ # reduce 131 omitted
1994
2003
 
1995
- module_eval(<<'.,.,', 'parser.y', 320)
1996
- def _reduce_118(val, _values, result)
2004
+ module_eval(<<'.,.,', 'parser.y', 355)
2005
+ def _reduce_132(val, _values, result)
1997
2006
  loc = val.first.location + val.last.location
1998
2007
  result = AST::Signature::Members::Ivar.new(
1999
2008
  location: loc,
@@ -2005,53 +2014,53 @@ module_eval(<<'.,.,', 'parser.y', 320)
2005
2014
  end
2006
2015
  .,.,
2007
2016
 
2008
- module_eval(<<'.,.,', 'parser.y', 329)
2009
- def _reduce_119(val, _values, result)
2017
+ module_eval(<<'.,.,', 'parser.y', 364)
2018
+ def _reduce_133(val, _values, result)
2010
2019
  loc = val.first.location + val.last.last.location
2011
2020
  result = AST::Signature::Members::Method.new(
2012
2021
  name: val[2].value,
2013
2022
  types: val[4],
2014
2023
  kind: :instance,
2015
2024
  location: loc,
2016
- attributes: [val[1] ? :constructor : nil].compact
2025
+ attributes: val[1] || []
2017
2026
  )
2018
2027
 
2019
2028
  result
2020
2029
  end
2021
2030
  .,.,
2022
2031
 
2023
- module_eval(<<'.,.,', 'parser.y', 339)
2024
- def _reduce_120(val, _values, result)
2032
+ module_eval(<<'.,.,', 'parser.y', 374)
2033
+ def _reduce_134(val, _values, result)
2025
2034
  loc = val.first.location + val.last.last.location
2026
2035
  result = AST::Signature::Members::Method.new(
2027
2036
  name: val[4].value,
2028
2037
  types: val[6],
2029
2038
  kind: :module,
2030
2039
  location: loc,
2031
- attributes: [val[1] ? :constructor : nil].compact
2040
+ attributes: val[1] || []
2032
2041
  )
2033
2042
 
2034
2043
  result
2035
2044
  end
2036
2045
  .,.,
2037
2046
 
2038
- module_eval(<<'.,.,', 'parser.y', 349)
2039
- def _reduce_121(val, _values, result)
2047
+ module_eval(<<'.,.,', 'parser.y', 384)
2048
+ def _reduce_135(val, _values, result)
2040
2049
  loc = val.first.location + val.last.last.location
2041
2050
  result = AST::Signature::Members::Method.new(
2042
2051
  name: val[4].value,
2043
2052
  types: val[6],
2044
2053
  kind: :module_instance,
2045
2054
  location: loc,
2046
- attributes: [val[1] ? :constructor : nil].compact
2055
+ attributes: val[1] || []
2047
2056
  )
2048
2057
 
2049
2058
  result
2050
2059
  end
2051
2060
  .,.,
2052
2061
 
2053
- module_eval(<<'.,.,', 'parser.y', 359)
2054
- def _reduce_122(val, _values, result)
2062
+ module_eval(<<'.,.,', 'parser.y', 394)
2063
+ def _reduce_136(val, _values, result)
2055
2064
  loc = val.first.location + val.last.location
2056
2065
  name = val[1].value
2057
2066
  result = AST::Signature::Members::Include.new(name: name, location: loc, args: [])
@@ -2060,8 +2069,8 @@ module_eval(<<'.,.,', 'parser.y', 359)
2060
2069
  end
2061
2070
  .,.,
2062
2071
 
2063
- module_eval(<<'.,.,', 'parser.y', 364)
2064
- def _reduce_123(val, _values, result)
2072
+ module_eval(<<'.,.,', 'parser.y', 399)
2073
+ def _reduce_137(val, _values, result)
2065
2074
  loc = val.first.location + val.last.location
2066
2075
  name = val[1].value
2067
2076
  result = AST::Signature::Members::Include.new(name: name, location: loc, args: val[3])
@@ -2070,8 +2079,8 @@ module_eval(<<'.,.,', 'parser.y', 364)
2070
2079
  end
2071
2080
  .,.,
2072
2081
 
2073
- module_eval(<<'.,.,', 'parser.y', 369)
2074
- def _reduce_124(val, _values, result)
2082
+ module_eval(<<'.,.,', 'parser.y', 404)
2083
+ def _reduce_138(val, _values, result)
2075
2084
  loc = val.first.location + val.last.location
2076
2085
  name = val[1].value
2077
2086
  result = AST::Signature::Members::Extend.new(name: name, location: loc, args: [])
@@ -2080,8 +2089,8 @@ module_eval(<<'.,.,', 'parser.y', 369)
2080
2089
  end
2081
2090
  .,.,
2082
2091
 
2083
- module_eval(<<'.,.,', 'parser.y', 374)
2084
- def _reduce_125(val, _values, result)
2092
+ module_eval(<<'.,.,', 'parser.y', 409)
2093
+ def _reduce_139(val, _values, result)
2085
2094
  loc = val.first.location + val.last.location
2086
2095
  name = val[1].value
2087
2096
  result = AST::Signature::Members::Extend.new(name: name, location: loc, args: val[3])
@@ -2090,8 +2099,8 @@ module_eval(<<'.,.,', 'parser.y', 374)
2090
2099
  end
2091
2100
  .,.,
2092
2101
 
2093
- module_eval(<<'.,.,', 'parser.y', 379)
2094
- def _reduce_126(val, _values, result)
2102
+ module_eval(<<'.,.,', 'parser.y', 414)
2103
+ def _reduce_140(val, _values, result)
2095
2104
  loc = val.first.location + val.last.location
2096
2105
  result = AST::Signature::Members::Attr.new(location: loc, name: val[1].value, kind: :reader, ivar: val[2], type: val[4])
2097
2106
 
@@ -2099,8 +2108,8 @@ module_eval(<<'.,.,', 'parser.y', 379)
2099
2108
  end
2100
2109
  .,.,
2101
2110
 
2102
- module_eval(<<'.,.,', 'parser.y', 383)
2103
- def _reduce_127(val, _values, result)
2111
+ module_eval(<<'.,.,', 'parser.y', 418)
2112
+ def _reduce_141(val, _values, result)
2104
2113
  loc = val.first.location + val.last.location
2105
2114
  result = AST::Signature::Members::Attr.new(location: loc, name: val[1].value, kind: :accessor, ivar: val[2], type: val[4])
2106
2115
 
@@ -2108,65 +2117,93 @@ module_eval(<<'.,.,', 'parser.y', 383)
2108
2117
  end
2109
2118
  .,.,
2110
2119
 
2111
- module_eval(<<'.,.,', 'parser.y', 387)
2112
- def _reduce_128(val, _values, result)
2120
+ module_eval(<<'.,.,', 'parser.y', 422)
2121
+ def _reduce_142(val, _values, result)
2113
2122
  result = nil
2114
2123
  result
2115
2124
  end
2116
2125
  .,.,
2117
2126
 
2118
- module_eval(<<'.,.,', 'parser.y', 388)
2119
- def _reduce_129(val, _values, result)
2127
+ module_eval(<<'.,.,', 'parser.y', 423)
2128
+ def _reduce_143(val, _values, result)
2120
2129
  result = false
2121
2130
  result
2122
2131
  end
2123
2132
  .,.,
2124
2133
 
2125
- module_eval(<<'.,.,', 'parser.y', 389)
2126
- def _reduce_130(val, _values, result)
2134
+ module_eval(<<'.,.,', 'parser.y', 424)
2135
+ def _reduce_144(val, _values, result)
2127
2136
  result = val[1].value
2128
2137
  result
2129
2138
  end
2130
2139
  .,.,
2131
2140
 
2132
- module_eval(<<'.,.,', 'parser.y', 391)
2133
- def _reduce_131(val, _values, result)
2134
- result = false
2141
+ module_eval(<<'.,.,', 'parser.y', 426)
2142
+ def _reduce_145(val, _values, result)
2143
+ result = nil
2135
2144
  result
2136
2145
  end
2137
2146
  .,.,
2138
2147
 
2139
- module_eval(<<'.,.,', 'parser.y', 392)
2140
- def _reduce_132(val, _values, result)
2141
- result = true
2148
+ module_eval(<<'.,.,', 'parser.y', 427)
2149
+ def _reduce_146(val, _values, result)
2150
+ result = val[1]
2142
2151
  result
2143
2152
  end
2144
2153
  .,.,
2145
2154
 
2146
- module_eval(<<'.,.,', 'parser.y', 394)
2147
- def _reduce_133(val, _values, result)
2155
+ module_eval(<<'.,.,', 'parser.y', 429)
2156
+ def _reduce_147(val, _values, result)
2157
+ result = [val[0]]
2158
+ result
2159
+ end
2160
+ .,.,
2161
+
2162
+ module_eval(<<'.,.,', 'parser.y', 430)
2163
+ def _reduce_148(val, _values, result)
2164
+ result = [val[0]] + val[2]
2165
+ result
2166
+ end
2167
+ .,.,
2168
+
2169
+ module_eval(<<'.,.,', 'parser.y', 432)
2170
+ def _reduce_149(val, _values, result)
2171
+ result = val[0].value
2172
+ result
2173
+ end
2174
+ .,.,
2175
+
2176
+ module_eval(<<'.,.,', 'parser.y', 433)
2177
+ def _reduce_150(val, _values, result)
2178
+ result = val[0].value
2179
+ result
2180
+ end
2181
+ .,.,
2182
+
2183
+ module_eval(<<'.,.,', 'parser.y', 435)
2184
+ def _reduce_151(val, _values, result)
2148
2185
  result = nil
2149
2186
  result
2150
2187
  end
2151
2188
  .,.,
2152
2189
 
2153
- module_eval(<<'.,.,', 'parser.y', 395)
2154
- def _reduce_134(val, _values, result)
2190
+ module_eval(<<'.,.,', 'parser.y', 436)
2191
+ def _reduce_152(val, _values, result)
2155
2192
  result = val[1]
2156
2193
  result
2157
2194
  end
2158
2195
  .,.,
2159
2196
 
2160
- module_eval(<<'.,.,', 'parser.y', 398)
2161
- def _reduce_135(val, _values, result)
2197
+ module_eval(<<'.,.,', 'parser.y', 439)
2198
+ def _reduce_153(val, _values, result)
2162
2199
  result = AST::Signature::SuperClass.new(location: val[0].location, name: val[0].value, args: [])
2163
2200
 
2164
2201
  result
2165
2202
  end
2166
2203
  .,.,
2167
2204
 
2168
- module_eval(<<'.,.,', 'parser.y', 401)
2169
- def _reduce_136(val, _values, result)
2205
+ module_eval(<<'.,.,', 'parser.y', 442)
2206
+ def _reduce_154(val, _values, result)
2170
2207
  loc = val[0].location + val[3].location
2171
2208
  name = val[0].value
2172
2209
  result = AST::Signature::SuperClass.new(location: loc, name: name, args: val[2])
@@ -2175,15 +2212,15 @@ module_eval(<<'.,.,', 'parser.y', 401)
2175
2212
  end
2176
2213
  .,.,
2177
2214
 
2178
- module_eval(<<'.,.,', 'parser.y', 406)
2179
- def _reduce_137(val, _values, result)
2215
+ module_eval(<<'.,.,', 'parser.y', 447)
2216
+ def _reduce_155(val, _values, result)
2180
2217
  result = nil
2181
2218
  result
2182
2219
  end
2183
2220
  .,.,
2184
2221
 
2185
- module_eval(<<'.,.,', 'parser.y', 408)
2186
- def _reduce_138(val, _values, result)
2222
+ module_eval(<<'.,.,', 'parser.y', 449)
2223
+ def _reduce_156(val, _values, result)
2187
2224
  location = val[0].location + val[2].location
2188
2225
  result = AST::TypeParams.new(location: location, variables: val[1])
2189
2226
 
@@ -2191,36 +2228,36 @@ module_eval(<<'.,.,', 'parser.y', 408)
2191
2228
  end
2192
2229
  .,.,
2193
2230
 
2194
- module_eval(<<'.,.,', 'parser.y', 412)
2195
- def _reduce_139(val, _values, result)
2231
+ module_eval(<<'.,.,', 'parser.y', 453)
2232
+ def _reduce_157(val, _values, result)
2196
2233
  result = [val[0].value]
2197
2234
  result
2198
2235
  end
2199
2236
  .,.,
2200
2237
 
2201
- module_eval(<<'.,.,', 'parser.y', 413)
2202
- def _reduce_140(val, _values, result)
2238
+ module_eval(<<'.,.,', 'parser.y', 454)
2239
+ def _reduce_158(val, _values, result)
2203
2240
  result = [val[0].value] + val[2]
2204
2241
  result
2205
2242
  end
2206
2243
  .,.,
2207
2244
 
2208
- module_eval(<<'.,.,', 'parser.y', 415)
2209
- def _reduce_141(val, _values, result)
2245
+ module_eval(<<'.,.,', 'parser.y', 456)
2246
+ def _reduce_159(val, _values, result)
2210
2247
  result = []
2211
2248
  result
2212
2249
  end
2213
2250
  .,.,
2214
2251
 
2215
- module_eval(<<'.,.,', 'parser.y', 416)
2216
- def _reduce_142(val, _values, result)
2252
+ module_eval(<<'.,.,', 'parser.y', 457)
2253
+ def _reduce_160(val, _values, result)
2217
2254
  result = val[1].unshift(val[0])
2218
2255
  result
2219
2256
  end
2220
2257
  .,.,
2221
2258
 
2222
- module_eval(<<'.,.,', 'parser.y', 419)
2223
- def _reduce_143(val, _values, result)
2259
+ module_eval(<<'.,.,', 'parser.y', 460)
2260
+ def _reduce_161(val, _values, result)
2224
2261
  loc = val[0].location + val[3].last.location
2225
2262
  result = AST::Signature::Interface::Method.new(location: loc, name: val[1].value, types: val[3])
2226
2263
 
@@ -2228,43 +2265,45 @@ module_eval(<<'.,.,', 'parser.y', 419)
2228
2265
  end
2229
2266
  .,.,
2230
2267
 
2231
- module_eval(<<'.,.,', 'parser.y', 423)
2232
- def _reduce_144(val, _values, result)
2268
+ module_eval(<<'.,.,', 'parser.y', 464)
2269
+ def _reduce_162(val, _values, result)
2233
2270
  result = [val[0]]
2234
2271
  result
2235
2272
  end
2236
2273
  .,.,
2237
2274
 
2238
- module_eval(<<'.,.,', 'parser.y', 424)
2239
- def _reduce_145(val, _values, result)
2275
+ module_eval(<<'.,.,', 'parser.y', 465)
2276
+ def _reduce_163(val, _values, result)
2240
2277
  result = [val[0]] + val[2]
2241
2278
  result
2242
2279
  end
2243
2280
  .,.,
2244
2281
 
2245
- # reduce 146 omitted
2282
+ # reduce 164 omitted
2283
+
2284
+ # reduce 165 omitted
2246
2285
 
2247
- # reduce 147 omitted
2286
+ # reduce 166 omitted
2248
2287
 
2249
- # reduce 148 omitted
2288
+ # reduce 167 omitted
2250
2289
 
2251
- # reduce 149 omitted
2290
+ # reduce 168 omitted
2252
2291
 
2253
- # reduce 150 omitted
2292
+ # reduce 169 omitted
2254
2293
 
2255
- # reduce 151 omitted
2294
+ # reduce 170 omitted
2256
2295
 
2257
- # reduce 152 omitted
2296
+ # reduce 171 omitted
2258
2297
 
2259
- module_eval(<<'.,.,', 'parser.y', 430)
2260
- def _reduce_153(val, _values, result)
2298
+ module_eval(<<'.,.,', 'parser.y', 472)
2299
+ def _reduce_172(val, _values, result)
2261
2300
  result = LocatedValue.new(location: val[0].location, value: :|)
2262
2301
  result
2263
2302
  end
2264
2303
  .,.,
2265
2304
 
2266
- module_eval(<<'.,.,', 'parser.y', 432)
2267
- def _reduce_154(val, _values, result)
2305
+ module_eval(<<'.,.,', 'parser.y', 474)
2306
+ def _reduce_173(val, _values, result)
2268
2307
  raise ParseError, "\nunexpected method name #{val[0].to_s} =" unless val[0].location.pred?(val[1].location)
2269
2308
  result = LocatedValue.new(location: val[0].location + val[1].location,
2270
2309
  value: :"#{val[0].value}=")
@@ -2273,8 +2312,8 @@ module_eval(<<'.,.,', 'parser.y', 432)
2273
2312
  end
2274
2313
  .,.,
2275
2314
 
2276
- module_eval(<<'.,.,', 'parser.y', 437)
2277
- def _reduce_155(val, _values, result)
2315
+ module_eval(<<'.,.,', 'parser.y', 479)
2316
+ def _reduce_174(val, _values, result)
2278
2317
  raise ParseError, "\nunexpected method name #{val[0].to_s} ?" unless val[0].location.pred?(val[1].location)
2279
2318
  result = LocatedValue.new(location: val[0].location + val[1].location,
2280
2319
  value: :"#{val[0].value}?")
@@ -2283,8 +2322,8 @@ module_eval(<<'.,.,', 'parser.y', 437)
2283
2322
  end
2284
2323
  .,.,
2285
2324
 
2286
- module_eval(<<'.,.,', 'parser.y', 442)
2287
- def _reduce_156(val, _values, result)
2325
+ module_eval(<<'.,.,', 'parser.y', 484)
2326
+ def _reduce_175(val, _values, result)
2288
2327
  raise ParseError, "\nunexpected method name #{val[0].to_s} !" unless val[0].location.pred?(val[1].location)
2289
2328
  result = LocatedValue.new(location: val[0].location + val[1].location,
2290
2329
  value: :"#{val[0].value}!")
@@ -2293,8 +2332,8 @@ module_eval(<<'.,.,', 'parser.y', 442)
2293
2332
  end
2294
2333
  .,.,
2295
2334
 
2296
- module_eval(<<'.,.,', 'parser.y', 447)
2297
- def _reduce_157(val, _values, result)
2335
+ module_eval(<<'.,.,', 'parser.y', 489)
2336
+ def _reduce_176(val, _values, result)
2298
2337
  raise ParseError, "\nunexpected method name > >" unless val[0].location.pred?(val[1].location)
2299
2338
  result = LocatedValue.new(location: val[0].location + val[1].location, value: :>>)
2300
2339
 
@@ -2302,66 +2341,82 @@ module_eval(<<'.,.,', 'parser.y', 447)
2302
2341
  end
2303
2342
  .,.,
2304
2343
 
2305
- # reduce 158 omitted
2344
+ module_eval(<<'.,.,', 'parser.y', 493)
2345
+ def _reduce_177(val, _values, result)
2346
+ raise ParseError, "\nunexpected method name #{val[0].to_s} ?" unless val[0].location.pred?(val[1].location)
2347
+ result = LocatedValue.new(location: val[0].location + val[1].location,
2348
+ value: :"nil?")
2349
+
2350
+ result
2351
+ end
2352
+ .,.,
2306
2353
 
2307
- # reduce 159 omitted
2354
+ # reduce 178 omitted
2308
2355
 
2309
- # reduce 160 omitted
2356
+ # reduce 179 omitted
2310
2357
 
2311
- # reduce 161 omitted
2358
+ # reduce 180 omitted
2312
2359
 
2313
- # reduce 162 omitted
2360
+ # reduce 181 omitted
2314
2361
 
2315
- # reduce 163 omitted
2362
+ # reduce 182 omitted
2316
2363
 
2317
- # reduce 164 omitted
2364
+ # reduce 183 omitted
2318
2365
 
2319
- # reduce 165 omitted
2366
+ # reduce 184 omitted
2320
2367
 
2321
- # reduce 166 omitted
2368
+ # reduce 185 omitted
2322
2369
 
2323
- # reduce 167 omitted
2370
+ # reduce 186 omitted
2324
2371
 
2325
- # reduce 168 omitted
2372
+ # reduce 187 omitted
2326
2373
 
2327
- # reduce 169 omitted
2374
+ # reduce 188 omitted
2328
2375
 
2329
- # reduce 170 omitted
2376
+ # reduce 189 omitted
2330
2377
 
2331
- # reduce 171 omitted
2378
+ # reduce 190 omitted
2379
+
2380
+ # reduce 191 omitted
2381
+
2382
+ # reduce 192 omitted
2332
2383
 
2333
- # reduce 172 omitted
2384
+ # reduce 193 omitted
2334
2385
 
2335
- # reduce 173 omitted
2386
+ # reduce 194 omitted
2336
2387
 
2337
- # reduce 174 omitted
2388
+ # reduce 195 omitted
2338
2389
 
2339
- # reduce 175 omitted
2390
+ # reduce 196 omitted
2340
2391
 
2341
- # reduce 176 omitted
2392
+ # reduce 197 omitted
2342
2393
 
2343
- # reduce 177 omitted
2394
+ # reduce 198 omitted
2344
2395
 
2345
- module_eval(<<'.,.,', 'parser.y', 470)
2346
- def _reduce_178(val, _values, result)
2396
+ # reduce 199 omitted
2397
+
2398
+ module_eval(<<'.,.,', 'parser.y', 519)
2399
+ def _reduce_200(val, _values, result)
2347
2400
  result = LocatedValue.new(location: val[0].location, value: :constructor)
2348
2401
  result
2349
2402
  end
2350
2403
  .,.,
2351
2404
 
2352
- module_eval(<<'.,.,', 'parser.y', 471)
2353
- def _reduce_179(val, _values, result)
2405
+ module_eval(<<'.,.,', 'parser.y', 520)
2406
+ def _reduce_201(val, _values, result)
2354
2407
  result = LocatedValue.new(location: val[0].location, value: :noconstructor)
2355
2408
  result
2356
2409
  end
2357
2410
  .,.,
2358
2411
 
2359
- # reduce 180 omitted
2412
+ # reduce 202 omitted
2360
2413
 
2361
- # reduce 181 omitted
2414
+ # reduce 203 omitted
2415
+
2416
+ # reduce 204 omitted
2362
2417
 
2363
- module_eval(<<'.,.,', 'parser.y', 476)
2364
- def _reduce_182(val, _values, result)
2418
+ module_eval(<<'.,.,', 'parser.y', 526)
2419
+ def _reduce_205(val, _values, result)
2365
2420
  loc = val.first.location + val.last.location
2366
2421
  result = AST::Annotation::VarType.new(location: loc,
2367
2422
  name: val[2].value,
@@ -2371,8 +2426,8 @@ module_eval(<<'.,.,', 'parser.y', 476)
2371
2426
  end
2372
2427
  .,.,
2373
2428
 
2374
- module_eval(<<'.,.,', 'parser.y', 482)
2375
- def _reduce_183(val, _values, result)
2429
+ module_eval(<<'.,.,', 'parser.y', 532)
2430
+ def _reduce_206(val, _values, result)
2376
2431
  loc = val.first.location + val.last.location
2377
2432
  result = AST::Annotation::MethodType.new(location: loc,
2378
2433
  name: val[2].value,
@@ -2382,8 +2437,8 @@ module_eval(<<'.,.,', 'parser.y', 482)
2382
2437
  end
2383
2438
  .,.,
2384
2439
 
2385
- module_eval(<<'.,.,', 'parser.y', 488)
2386
- def _reduce_184(val, _values, result)
2440
+ module_eval(<<'.,.,', 'parser.y', 538)
2441
+ def _reduce_207(val, _values, result)
2387
2442
  loc = val.first.location + val.last.location
2388
2443
  result = AST::Annotation::ReturnType.new(type: val[3], location: loc)
2389
2444
 
@@ -2391,8 +2446,8 @@ module_eval(<<'.,.,', 'parser.y', 488)
2391
2446
  end
2392
2447
  .,.,
2393
2448
 
2394
- module_eval(<<'.,.,', 'parser.y', 492)
2395
- def _reduce_185(val, _values, result)
2449
+ module_eval(<<'.,.,', 'parser.y', 542)
2450
+ def _reduce_208(val, _values, result)
2396
2451
  loc = val.first.location + val.last.location
2397
2452
  result = AST::Annotation::BlockType.new(type: val[3], location: loc)
2398
2453
 
@@ -2400,8 +2455,8 @@ module_eval(<<'.,.,', 'parser.y', 492)
2400
2455
  end
2401
2456
  .,.,
2402
2457
 
2403
- module_eval(<<'.,.,', 'parser.y', 496)
2404
- def _reduce_186(val, _values, result)
2458
+ module_eval(<<'.,.,', 'parser.y', 546)
2459
+ def _reduce_209(val, _values, result)
2405
2460
  loc = val.first.location + val.last.location
2406
2461
  result = AST::Annotation::SelfType.new(type: val[3], location: loc)
2407
2462
 
@@ -2409,8 +2464,8 @@ module_eval(<<'.,.,', 'parser.y', 496)
2409
2464
  end
2410
2465
  .,.,
2411
2466
 
2412
- module_eval(<<'.,.,', 'parser.y', 500)
2413
- def _reduce_187(val, _values, result)
2467
+ module_eval(<<'.,.,', 'parser.y', 550)
2468
+ def _reduce_210(val, _values, result)
2414
2469
  loc = val.first.location + val.last.location
2415
2470
  result = AST::Annotation::ConstType.new(name: val[2].value,
2416
2471
  type: val[4],
@@ -2420,8 +2475,8 @@ module_eval(<<'.,.,', 'parser.y', 500)
2420
2475
  end
2421
2476
  .,.,
2422
2477
 
2423
- module_eval(<<'.,.,', 'parser.y', 506)
2424
- def _reduce_188(val, _values, result)
2478
+ module_eval(<<'.,.,', 'parser.y', 556)
2479
+ def _reduce_211(val, _values, result)
2425
2480
  loc = val.first.location + val.last.location
2426
2481
  result = AST::Annotation::InstanceType.new(type: val[3], location: loc)
2427
2482
 
@@ -2429,8 +2484,8 @@ module_eval(<<'.,.,', 'parser.y', 506)
2429
2484
  end
2430
2485
  .,.,
2431
2486
 
2432
- module_eval(<<'.,.,', 'parser.y', 510)
2433
- def _reduce_189(val, _values, result)
2487
+ module_eval(<<'.,.,', 'parser.y', 560)
2488
+ def _reduce_212(val, _values, result)
2434
2489
  loc = val.first.location + val.last.location
2435
2490
  result = AST::Annotation::ModuleType.new(type: val[3], location: loc)
2436
2491
 
@@ -2438,8 +2493,8 @@ module_eval(<<'.,.,', 'parser.y', 510)
2438
2493
  end
2439
2494
  .,.,
2440
2495
 
2441
- module_eval(<<'.,.,', 'parser.y', 514)
2442
- def _reduce_190(val, _values, result)
2496
+ module_eval(<<'.,.,', 'parser.y', 564)
2497
+ def _reduce_213(val, _values, result)
2443
2498
  loc = val.first.location + val.last.location
2444
2499
  result = AST::Annotation::IvarType.new(name: val[2].value, type: val[4], location: loc)
2445
2500
 
@@ -2447,8 +2502,8 @@ module_eval(<<'.,.,', 'parser.y', 514)
2447
2502
  end
2448
2503
  .,.,
2449
2504
 
2450
- module_eval(<<'.,.,', 'parser.y', 518)
2451
- def _reduce_191(val, _values, result)
2505
+ module_eval(<<'.,.,', 'parser.y', 568)
2506
+ def _reduce_214(val, _values, result)
2452
2507
  loc = val[0].location + (val[2]&.location || val[1].location)
2453
2508
  args = val[2]&.variables || []
2454
2509
  name = AST::Annotation::Implements::Module.new(name: val[1].value, args: args)
@@ -2458,8 +2513,8 @@ module_eval(<<'.,.,', 'parser.y', 518)
2458
2513
  end
2459
2514
  .,.,
2460
2515
 
2461
- module_eval(<<'.,.,', 'parser.y', 524)
2462
- def _reduce_192(val, _values, result)
2516
+ module_eval(<<'.,.,', 'parser.y', 574)
2517
+ def _reduce_215(val, _values, result)
2463
2518
  loc = val[0].location + val[1].last.location
2464
2519
  result = AST::Annotation::Dynamic.new(names: val[1], location: loc)
2465
2520
 
@@ -2467,8 +2522,8 @@ module_eval(<<'.,.,', 'parser.y', 524)
2467
2522
  end
2468
2523
  .,.,
2469
2524
 
2470
- module_eval(<<'.,.,', 'parser.y', 528)
2471
- def _reduce_193(val, _values, result)
2525
+ module_eval(<<'.,.,', 'parser.y', 578)
2526
+ def _reduce_216(val, _values, result)
2472
2527
  loc = val.first.location + val.last.location
2473
2528
  result = AST::Annotation::BreakType.new(type: val[3], location: loc)
2474
2529
 
@@ -2476,30 +2531,30 @@ module_eval(<<'.,.,', 'parser.y', 528)
2476
2531
  end
2477
2532
  .,.,
2478
2533
 
2479
- module_eval(<<'.,.,', 'parser.y', 532)
2480
- def _reduce_194(val, _values, result)
2534
+ module_eval(<<'.,.,', 'parser.y', 582)
2535
+ def _reduce_217(val, _values, result)
2481
2536
  result = [val[0]] + val[2]
2482
2537
  result
2483
2538
  end
2484
2539
  .,.,
2485
2540
 
2486
- module_eval(<<'.,.,', 'parser.y', 533)
2487
- def _reduce_195(val, _values, result)
2541
+ module_eval(<<'.,.,', 'parser.y', 583)
2542
+ def _reduce_218(val, _values, result)
2488
2543
  result = val
2489
2544
  result
2490
2545
  end
2491
2546
  .,.,
2492
2547
 
2493
- module_eval(<<'.,.,', 'parser.y', 536)
2494
- def _reduce_196(val, _values, result)
2548
+ module_eval(<<'.,.,', 'parser.y', 586)
2549
+ def _reduce_219(val, _values, result)
2495
2550
  result = AST::Annotation::Dynamic::Name.new(name: val[0].value, location: val[0].location, kind: :instance)
2496
2551
 
2497
2552
  result
2498
2553
  end
2499
2554
  .,.,
2500
2555
 
2501
- module_eval(<<'.,.,', 'parser.y', 539)
2502
- def _reduce_197(val, _values, result)
2556
+ module_eval(<<'.,.,', 'parser.y', 589)
2557
+ def _reduce_220(val, _values, result)
2503
2558
  loc = val.first.location + val.last.location
2504
2559
  result = AST::Annotation::Dynamic::Name.new(name: val[2].value, location: loc, kind: :module)
2505
2560
 
@@ -2507,8 +2562,8 @@ module_eval(<<'.,.,', 'parser.y', 539)
2507
2562
  end
2508
2563
  .,.,
2509
2564
 
2510
- module_eval(<<'.,.,', 'parser.y', 543)
2511
- def _reduce_198(val, _values, result)
2565
+ module_eval(<<'.,.,', 'parser.y', 593)
2566
+ def _reduce_221(val, _values, result)
2512
2567
  loc = val.first.location + val.last.location
2513
2568
  result = AST::Annotation::Dynamic::Name.new(name: val[2].value, location: loc, kind: :module_instance)
2514
2569
 
@@ -2516,8 +2571,8 @@ module_eval(<<'.,.,', 'parser.y', 543)
2516
2571
  end
2517
2572
  .,.,
2518
2573
 
2519
- module_eval(<<'.,.,', 'parser.y', 547)
2520
- def _reduce_199(val, _values, result)
2574
+ module_eval(<<'.,.,', 'parser.y', 597)
2575
+ def _reduce_222(val, _values, result)
2521
2576
  result = val[0]
2522
2577
  result
2523
2578
  end