steep 0.4.0 → 0.5.0

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