rbs 1.0.3 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +2 -2
  3. data/CHANGELOG.md +65 -0
  4. data/Gemfile +0 -1
  5. data/Rakefile +3 -2
  6. data/Steepfile +2 -0
  7. data/bin/rbs-prof +1 -1
  8. data/core/array.rbs +10 -6
  9. data/core/complex.rbs +1 -1
  10. data/core/enumerable.rbs +15 -1
  11. data/core/enumerator.rbs +4 -0
  12. data/core/file.rbs +2 -1
  13. data/core/integer.rbs +2 -1
  14. data/core/module.rbs +1 -1
  15. data/core/rational.rbs +2 -1
  16. data/core/string.rbs +2 -1
  17. data/core/symbol.rbs +2 -1
  18. data/core/thread.rbs +14 -1
  19. data/core/time.rbs +2 -1
  20. data/docs/stdlib.md +1 -1
  21. data/lib/rbs.rb +3 -0
  22. data/lib/rbs/ancestor_graph.rb +90 -0
  23. data/lib/rbs/ast/members.rb +13 -0
  24. data/lib/rbs/char_scanner.rb +20 -0
  25. data/lib/rbs/definition_builder.rb +50 -25
  26. data/lib/rbs/definition_builder/method_builder.rb +23 -2
  27. data/lib/rbs/environment.rb +42 -5
  28. data/lib/rbs/environment_walker.rb +4 -4
  29. data/lib/rbs/errors.rb +32 -17
  30. data/lib/rbs/parser.rb +437 -416
  31. data/lib/rbs/parser.y +29 -16
  32. data/lib/rbs/test/type_check.rb +7 -3
  33. data/lib/rbs/version.rb +1 -1
  34. data/sig/ancestor_graph.rbs +40 -0
  35. data/sig/char_scanner.rbs +9 -0
  36. data/sig/definition_builder.rbs +5 -1
  37. data/sig/environment.rbs +22 -2
  38. data/sig/environment_walker.rbs +39 -0
  39. data/sig/errors.rbs +42 -17
  40. data/sig/members.rbs +2 -0
  41. data/sig/method_builder.rbs +2 -0
  42. data/sig/parser.rbs +11 -4
  43. data/sig/polyfill.rbs +0 -14
  44. data/sig/types.rbs +7 -1
  45. data/stdlib/bigdecimal/0/big_decimal.rbs +1 -1
  46. data/stdlib/cgi/0/core.rbs +595 -0
  47. data/stdlib/date/0/date.rbs +1 -1
  48. data/stdlib/json/0/json.rbs +288 -0
  49. data/stdlib/pathname/0/pathname.rbs +2 -1
  50. data/stdlib/rubygems/0/basic_specification.rbs +3 -0
  51. data/stdlib/rubygems/0/config_file.rbs +3 -0
  52. data/stdlib/rubygems/0/dependency_installer.rbs +5 -0
  53. data/stdlib/rubygems/0/installer.rbs +3 -0
  54. data/stdlib/rubygems/0/path_support.rbs +3 -0
  55. data/stdlib/rubygems/0/platform.rbs +3 -0
  56. data/stdlib/rubygems/0/request_set.rbs +7 -0
  57. data/stdlib/rubygems/0/requirement.rbs +3 -0
  58. data/stdlib/rubygems/0/rubygems.rbs +710 -0
  59. data/stdlib/rubygems/0/source_list.rbs +2 -0
  60. data/stdlib/rubygems/0/specification.rbs +3 -0
  61. data/stdlib/rubygems/0/stream_ui.rbs +3 -0
  62. data/stdlib/rubygems/0/uninstaller.rbs +3 -0
  63. data/stdlib/rubygems/0/version.rbs +228 -0
  64. data/stdlib/set/0/set.rbs +7 -0
  65. data/stdlib/strscan/0/string_scanner.rbs +582 -0
  66. data/stdlib/timeout/0/timeout.rbs +57 -0
  67. data/stdlib/uri/0/rfc2396_parser.rbs +144 -7
  68. data/steep/Gemfile.lock +17 -19
  69. metadata +24 -2
data/lib/rbs/parser.rb CHANGED
@@ -8,7 +8,7 @@ require 'racc/parser.rb'
8
8
  module RBS
9
9
  class Parser < Racc::Parser
10
10
 
11
- module_eval(<<'...end parser.y/module_eval...', 'parser.y', 1068)
11
+ module_eval(<<'...end parser.y/module_eval...', 'parser.y', 1072)
12
12
 
13
13
  Types = RBS::Types
14
14
  Namespace = RBS::Namespace
@@ -28,8 +28,6 @@ class LocatedValue
28
28
  end
29
29
  end
30
30
 
31
- require "strscan"
32
-
33
31
  attr_reader :input
34
32
  attr_reader :buffer
35
33
  attr_reader :eof_re
@@ -38,7 +36,7 @@ def initialize(type, buffer:, eof_re:)
38
36
  super()
39
37
  @type = type
40
38
  @buffer = buffer
41
- @input = StringScanner.new(buffer.content)
39
+ @input = CharScanner.new(buffer.content)
42
40
  @eof_re = eof_re
43
41
  @eof = false
44
42
  @bound_variables_stack = []
@@ -154,11 +152,7 @@ def new_token(type, value = input.matched)
154
152
  end
155
153
 
156
154
  def charpos(scanner)
157
- if @ascii_only
158
- scanner.pos
159
- else
160
- scanner.charpos
161
- end
155
+ scanner.charpos
162
156
  end
163
157
 
164
158
  def empty_params_result
@@ -365,7 +359,11 @@ def next_token
365
359
  s = input.matched.yield_self {|s| s[1, s.length - 2] }.gsub(/\\'/, "'")
366
360
  new_token(:tSTRING, s)
367
361
  else
368
- raise "Unexpected token: #{input.peek(10)}..."
362
+ text = input.peek(10)
363
+ start_index = charpos(input)
364
+ end_index = start_index + text.length
365
+ location = RBS::Location.new(buffer: buffer, start_pos: start_index, end_pos: end_index)
366
+ raise LexerError.new(input: text, location: location)
369
367
  end
370
368
  end
371
369
 
@@ -373,7 +371,7 @@ def on_error(token_id, error_value, value_stack)
373
371
  raise SyntaxError.new(token_str: token_to_str(token_id), error_value: error_value, value_stack: value_stack)
374
372
  end
375
373
 
376
- class SyntaxError < StandardError
374
+ class SyntaxError < ParsingError
377
375
  attr_reader :token_str, :error_value, :value_stack
378
376
 
379
377
  def initialize(token_str:, error_value:, value_stack: nil)
@@ -385,7 +383,7 @@ class SyntaxError < StandardError
385
383
  end
386
384
  end
387
385
 
388
- class SemanticsError < StandardError
386
+ class SemanticsError < ParsingError
389
387
  attr_reader :subject, :location, :original_message
390
388
 
391
389
  def initialize(message, subject:, location:)
@@ -397,77 +395,88 @@ class SemanticsError < StandardError
397
395
  end
398
396
  end
399
397
 
398
+ class LexerError < ParsingError
399
+ attr_reader :location, :input
400
+
401
+ def initialize(input:, location:)
402
+ @input = input
403
+ @location = location
404
+
405
+ super "Unexpected string: #{input}..."
406
+ end
407
+ end
408
+
400
409
  ...end parser.y/module_eval...
401
410
  ##### State transition tables begin ###
402
411
 
403
412
  clist = [
404
- '351,352,33,353,5,113,37,33,33,42,338,394,49,33,33,350,43,245,336,393',
405
- '40,41,55,56,57,58,59,60,61,62,355,33,63,54,64,65,66,77,67,68,69,83,33',
406
- '32,53,346,340,341,32,32,344,342,345,305,32,32,33,343,82,70,71,72,74',
407
- '76,75,339,348,349,73,78,80,126,32,124,48,84,85,81,86,351,352,33,353',
408
- '32,96,97,98,99,104,49,39,33,33,33,350,205,205,32,125,40,41,55,56,57',
409
- '58,59,60,61,62,79,185,63,54,64,65,66,77,67,68,69,83,53,32,160,346,340',
410
- '341,53,53,344,342,345,32,32,32,125,343,82,70,71,72,74,76,75,339,348',
411
- '349,73,78,80,40,41,161,223,84,85,81,86,351,352,120,353,180,96,97,98',
412
- '99,164,179,101,102,165,103,350,166,280,327,360,224,39,55,56,57,58,59',
413
- '60,61,62,79,397,63,54,64,65,66,77,67,68,69,83,281,125,125,346,340,341',
414
- '398,399,344,342,345,323,40,41,125,343,82,70,71,72,74,76,75,339,348,349',
415
- '73,78,80,167,319,125,125,84,85,81,86,351,352,168,353,170,96,97,98,99',
416
- '2,3,4,40,41,171,350,40,41,40,41,40,41,55,56,57,58,59,60,61,62,79,172',
417
- '63,54,64,65,66,77,67,68,69,83,40,41,113,346,340,341,40,41,344,342,345',
418
- '40,41,40,41,343,82,70,71,72,74,76,75,339,348,349,73,78,80,351,352,178',
419
- '353,84,85,81,86,-4,181,-242,184,33,41,117,350,-242,40,41,40,41,113,55',
420
- '56,57,58,59,60,61,62,79,187,63,54,64,65,66,77,67,68,69,83,40,41,180',
421
- '346,340,341,283,284,344,342,345,32,372,373,188,343,82,70,71,72,74,76',
422
- '75,339,348,349,73,78,80,351,352,-104,353,84,85,81,86,40,41,40,41,-105',
423
- '39,-106,350,388,389,40,41,40,41,55,56,57,58,59,60,61,62,79,-107,63,54',
424
- '64,65,66,77,67,68,69,83,40,41,-108,346,340,341,40,41,344,342,345,40',
425
- '41,40,41,343,82,70,71,72,74,76,75,339,348,349,73,78,80,40,41,-109,-110',
426
- '84,85,81,86,351,352,-111,353,-112,96,97,98,99,-113,-114,48,-129,193',
427
- '194,350,195,196,197,198,206,207,55,56,57,58,59,60,61,62,79,42,63,54',
428
- '64,65,66,77,67,68,69,83,225,239,248,346,340,341,249,250,344,342,345',
429
- '252,254,255,42,343,82,70,71,72,74,76,75,339,348,349,73,78,80,351,352',
430
- '257,353,84,85,81,86,257,257,263,42,225,267,271,350,273,275,276,312,271',
431
- '314,55,56,57,58,59,60,61,62,79,275,63,54,64,65,66,77,67,68,69,83,324',
432
- '325,326,346,340,341,329,329,344,342,345,329,359,361,368,343,82,70,71',
433
- '72,74,76,75,339,348,349,73,78,80,369,370,371,374,84,85,81,86,33,376',
434
- '379,96,97,98,99,379,379,392,22,23,21,395,26,-219,25,396,30,403,131,132',
435
- '133,134,135,136,137,138,142,16,139,130,140,141,66,77,67,68,69,83,404',
436
- '32,405,407,412,28,413,156,414,157,159,415,412,,,,82,70,71,72,74,76,75',
437
- ',,,73,78,80,,,,,84,85,81,86,33,,,96,97,98,99,,,,22,23,21,,26,,25,,30',
438
- ',131,132,133,134,135,136,137,138,142,16,139,130,140,141,66,77,67,68',
439
- '69,83,,32,,,174,28,,177,,175,,,,,,,82,70,71,72,74,76,75,,,,73,78,80',
440
- '176,,,,84,85,81,86,33,,,96,97,98,99,,,,22,23,21,,26,-219,25,,30,,131',
413
+ '354,355,33,356,5,113,37,33,33,42,341,397,49,33,33,353,43,248,339,396',
414
+ '40,41,55,56,57,58,59,60,61,62,358,33,63,54,64,65,66,77,67,68,69,83,33',
415
+ '32,53,349,343,344,32,32,347,345,348,308,32,32,33,346,82,70,71,72,74',
416
+ '76,75,342,351,352,73,78,80,126,32,185,48,84,85,81,86,354,355,33,356',
417
+ '32,96,97,98,99,104,49,39,33,33,33,353,207,207,32,186,40,41,55,56,57',
418
+ '58,59,60,61,62,79,226,63,54,64,65,66,77,67,68,69,83,53,32,160,349,343',
419
+ '344,53,53,347,345,348,32,32,32,227,346,82,70,71,72,74,76,75,342,351',
420
+ '352,73,78,80,40,41,161,283,84,85,81,86,354,355,120,356,180,96,97,98',
421
+ '99,125,179,101,102,165,103,353,166,330,363,400,284,39,55,56,57,58,59',
422
+ '60,61,62,79,401,63,54,64,65,66,77,67,68,69,83,186,186,186,349,343,344',
423
+ '402,167,347,345,348,326,40,41,186,346,82,70,71,72,74,76,75,342,351,352',
424
+ '73,78,80,168,322,186,170,84,85,81,86,354,355,171,356,172,96,97,98,99',
425
+ '2,3,4,40,41,113,353,40,41,40,41,40,41,55,56,57,58,59,60,61,62,79,178',
426
+ '63,54,64,65,66,77,67,68,69,83,40,41,181,349,343,344,40,41,347,345,348',
427
+ '40,41,40,41,346,82,70,71,72,74,76,75,342,351,352,73,78,80,354,355,184',
428
+ '356,84,85,81,86,-4,41,-242,187,33,189,117,353,-242,40,41,40,41,113,55',
429
+ '56,57,58,59,60,61,62,79,180,63,54,64,65,66,77,67,68,69,83,40,41,190',
430
+ '349,343,344,286,287,347,345,348,32,375,376,-104,346,82,70,71,72,74,76',
431
+ '75,342,351,352,73,78,80,354,355,-105,356,84,85,81,86,40,41,40,41,-106',
432
+ '39,-107,353,391,392,40,41,40,41,55,56,57,58,59,60,61,62,79,-108,63,54',
433
+ '64,65,66,77,67,68,69,83,40,41,-109,349,343,344,40,41,347,345,348,40',
434
+ '41,40,41,346,82,70,71,72,74,76,75,342,351,352,73,78,80,40,41,-110,-111',
435
+ '84,85,81,86,354,355,-112,356,-113,96,97,98,99,-114,48,-129,195,196,197',
436
+ '353,198,199,200,208,209,42,55,56,57,58,59,60,61,62,79,210,63,54,64,65',
437
+ '66,77,67,68,69,83,228,242,251,349,343,344,252,253,347,345,348,255,257',
438
+ '258,42,346,82,70,71,72,74,76,75,342,351,352,73,78,80,354,355,260,356',
439
+ '84,85,81,86,260,260,266,42,228,270,274,353,276,278,279,315,274,317,55',
440
+ '56,57,58,59,60,61,62,79,278,63,54,64,65,66,77,67,68,69,83,327,328,329',
441
+ '349,343,344,332,332,347,345,348,332,362,364,371,346,82,70,71,72,74,76',
442
+ '75,342,351,352,73,78,80,372,373,374,377,84,85,81,86,33,379,382,96,97',
443
+ '98,99,382,382,395,22,23,21,398,26,-219,25,399,30,406,131,132,133,134',
444
+ '135,136,137,138,142,16,139,130,140,141,66,77,67,68,69,83,407,32,408',
445
+ '410,415,28,416,156,417,157,159,418,415,,,,82,70,71,72,74,76,75,,,,73',
446
+ '78,80,,,,,84,85,81,86,33,,,96,97,98,99,,,,22,23,21,,26,,25,,30,,131',
441
447
  '132,133,134,135,136,137,138,142,16,139,130,140,141,66,77,67,68,69,83',
442
- ',32,,,,28,,156,,157,159,,,,,,82,70,71,72,74,76,75,,,,73,78,80,,,,,84',
443
- '85,81,86,33,,,96,97,98,99,,,,22,23,21,,26,-219,25,,30,,131,132,133,134',
444
- '135,136,137,138,142,16,139,130,140,141,66,77,67,68,69,83,,32,,,,28,',
445
- '156,,157,159,,,,,,82,70,71,72,74,76,75,,,,73,78,80,,,,,84,85,81,86,33',
446
- ',,96,97,98,99,,,,22,23,21,,26,-219,25,,30,,131,132,133,134,135,136,137',
447
- '138,142,16,139,130,140,141,66,77,67,68,69,83,,32,,,,28,,231,,,159,,',
448
+ ',32,,,174,28,,177,,175,,,,,,,82,70,71,72,74,76,75,,,,73,78,80,176,,',
449
+ ',84,85,81,86,33,,,96,97,98,99,,,,22,23,21,,26,-219,25,,30,,131,132,133',
450
+ '134,135,136,137,138,142,16,139,130,140,141,66,77,67,68,69,83,,32,,,',
451
+ '28,,156,,157,159,,,,,,82,70,71,72,74,76,75,,,,73,78,80,,,,,84,85,81',
452
+ '86,33,,,96,97,98,99,,,,22,23,21,,26,-219,25,,30,,131,132,133,134,135',
453
+ '136,137,138,142,16,139,130,140,141,66,77,67,68,69,83,,32,,,,28,,156',
454
+ ',157,159,,,,,,82,70,71,72,74,76,75,,,,73,78,80,,,,,84,85,81,86,33,,',
455
+ '96,97,98,99,,,,22,23,21,,26,-219,25,,30,,131,132,133,134,135,136,137',
456
+ '138,142,16,139,130,140,141,66,77,67,68,69,83,,32,,,,28,,234,,,159,,',
448
457
  ',,,82,70,71,72,74,76,75,,,,73,78,80,,,,,84,85,81,86,33,,,96,97,98,99',
449
458
  ',,,22,23,21,,26,-219,25,,30,,131,132,133,134,135,136,137,138,142,16',
450
459
  '139,130,140,141,66,77,67,68,69,83,,32,,,,28,,156,,157,159,,,,,,82,70',
451
460
  '71,72,74,76,75,,,,73,78,80,,,,,84,85,81,86,33,,,96,97,98,99,,,,22,23',
452
461
  '21,,26,-219,25,,30,,131,132,133,134,135,136,137,138,142,16,139,130,140',
453
- '141,66,77,67,68,69,83,,32,,,,28,,231,,,159,,,,,,82,70,71,72,74,76,75',
462
+ '141,66,77,67,68,69,83,,32,,,,28,,234,,,159,,,,,,82,70,71,72,74,76,75',
454
463
  ',,,73,78,80,,,,,84,85,81,86,96,97,98,99,,,,90,89,91,,,,,,,,55,56,57',
455
- '58,59,60,61,62,79,,63,54,64,65,66,77,67,68,69,83,,,,,,,,,190,,191,,',
464
+ '58,59,60,61,62,79,,63,54,64,65,66,77,67,68,69,83,,,,,,,,,192,,193,,',
456
465
  ',,,82,70,71,72,74,76,75,,95,94,73,78,80,,,,,84,85,81,86,96,97,98,99',
457
466
  ',,,90,89,91,,,,,,40,41,55,56,57,58,59,60,61,62,79,,63,54,64,65,66,77',
458
- '67,68,69,83,192,,,,,,,,,,,,,,,,82,70,71,72,74,76,75,,95,94,73,78,80',
467
+ '67,68,69,83,194,,,,,,,,,,,,,,,,82,70,71,72,74,76,75,,95,94,73,78,80',
459
468
  '96,97,98,99,84,85,81,86,,,,,,,,,,55,56,57,58,59,60,61,62,79,,63,54,64',
460
- '65,66,77,67,68,69,83,190,,191,,,,,231,,,159,,,,,,82,70,71,72,74,76,75',
461
- '190,,191,73,78,80,96,97,98,99,84,85,81,86,,,,,,,,40,41,55,56,57,58,59',
462
- '60,61,62,79,,63,54,64,65,66,77,67,68,69,83,192,40,41,,,,,231,,,159,',
463
- ',,,,82,70,71,72,74,76,75,192,,,73,78,80,96,97,98,99,84,85,81,86,,,,',
464
- ',,,,,55,56,57,58,59,60,61,62,79,,63,54,64,65,66,77,67,68,69,83,190,',
465
- '191,190,,191,190,,191,,,,,,,,82,70,71,72,74,76,75,,,,73,78,80,,,,,84',
466
- '85,81,86,,,,,,,,40,41,,40,41,,40,41,-242,,33,,117,,-242,,,300,301,113',
467
- ',,192,,,192,,,192,,-242,,33,,117,,-242,,302,300,301,113,,,,,,297,296',
468
- ',,32,-242,,33,,117,,-242,,302,300,301,113,,,,288,,297,296,,174,32,,177',
469
- ',175,,,323,,302,,,,,,,311,,297,296,,33,32,,176,,319,320,316,317,318',
470
- '22,23,21,321,26,,25,315,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27',
469
+ '65,66,77,67,68,69,83,192,,193,,,,,234,,,159,,,,,,82,70,71,72,74,76,75',
470
+ '192,,193,73,78,80,96,97,98,99,84,85,81,86,,,,,,,,40,41,55,56,57,58,59',
471
+ '60,61,62,79,,63,54,64,65,66,77,67,68,69,83,194,40,41,,,,,234,,,159,',
472
+ ',,,,82,70,71,72,74,76,75,194,,,73,78,80,96,97,98,99,84,85,81,86,,,,',
473
+ ',,,,,55,56,57,58,59,60,61,62,79,,63,54,64,65,66,77,67,68,69,83,192,',
474
+ '193,192,,193,192,,193,,,,,,,,82,70,71,72,74,76,75,,,,73,78,80,,,,,84',
475
+ '85,81,86,,,,,,,,40,41,,40,41,,40,41,-242,,33,,117,,-242,,,303,304,113',
476
+ ',,194,,,194,,,194,,-242,,33,,117,,-242,,305,303,304,113,,,,,,300,299',
477
+ ',,32,-242,,33,,117,,-242,,305,303,304,113,,,,291,,300,299,,174,32,,177',
478
+ ',175,,,326,,305,,,,,,,314,,300,299,,33,32,,176,,322,323,319,320,321',
479
+ '22,23,21,324,26,,25,318,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27',
471
480
  ',,33,,,,,32,,,,28,22,23,21,,26,,25,45,30,,8,12,19,20,9,10,13,14,15,16',
472
481
  '17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10',
473
482
  '13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12',
@@ -476,44 +485,45 @@ clist = [
476
485
  '21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32',
477
486
  ',,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27',
478
487
  ',,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16',
479
- '17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10',
480
- '13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12',
481
- '19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25',
482
- ',30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23',
483
- '21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32',
484
- ',,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27',
485
- ',,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16',
486
- '17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10',
487
- '13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12',
488
- '19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25',
489
- ',30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23',
490
- '21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32',
491
- ',,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27',
492
- ',,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16',
493
- '17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10',
494
- '13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12',
495
- '19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25',
496
- ',30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23',
497
- '21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32',
498
- ',,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27',
499
- ',,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16',
500
- '17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10',
501
- '13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12',
502
- '19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25',
503
- ',30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23',
504
- '21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32',
505
- ',,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27',
506
- ',,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16',
507
- '17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10',
508
- '13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12',
509
- '19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25',
510
- ',30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23',
511
- '21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32',
512
- ',,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27',
513
- ',,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16',
514
- '17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10',
515
- '13,14,15,16,17,18,11,27,,,,,,,,32,,,,28' ]
516
- racc_action_table = arr = ::Array.new(3008, nil)
488
+ '17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,-246,30,,8,12,19,20,9',
489
+ '10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8',
490
+ '12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26',
491
+ ',25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22',
492
+ '23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,',
493
+ '32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11',
494
+ '27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15',
495
+ '16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9',
496
+ '10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8',
497
+ '12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26',
498
+ ',25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22',
499
+ '23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,',
500
+ '32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11',
501
+ '27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15',
502
+ '16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9',
503
+ '10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8',
504
+ '12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26',
505
+ ',25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22',
506
+ '23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,',
507
+ '32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11',
508
+ '27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15',
509
+ '16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9',
510
+ '10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8',
511
+ '12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26',
512
+ ',25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22',
513
+ '23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,',
514
+ '32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11',
515
+ '27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15',
516
+ '16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9',
517
+ '10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8',
518
+ '12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26',
519
+ ',25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22',
520
+ '23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,',
521
+ '32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11',
522
+ '27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15',
523
+ '16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9',
524
+ '10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8',
525
+ '12,19,20,9,10,13,14,15,16,17,18,11,27,,,,,,,,32,,,,28' ]
526
+ racc_action_table = arr = ::Array.new(3044, nil)
517
527
  idx = 0
518
528
  clist.each do |str|
519
529
  str.split(',', -1).each do |i|
@@ -523,82 +533,82 @@ clist = [
523
533
  end
524
534
 
525
535
  clist = [
526
- '323,323,48,323,1,277,5,177,215,7,322,379,28,216,217,323,24,216,322,379',
527
- '44,44,323,323,323,323,323,323,323,323,323,245,323,323,323,323,323,323',
528
- '323,323,323,323,267,48,28,323,323,323,177,215,323,323,323,277,216,217',
529
- '273,323,323,323,323,323,323,323,323,323,323,323,323,323,323,47,245,46',
530
- '27,323,323,323,323,330,330,275,330,267,330,330,330,330,32,119,35,319',
531
- '320,321,330,160,206,273,46,47,47,330,330,330,330,330,330,330,330,330',
532
- '123,330,330,330,330,330,330,330,330,330,330,119,275,51,330,330,330,160',
533
- '206,330,330,330,319,320,321,123,330,330,330,330,330,330,330,330,330',
534
- '330,330,330,330,330,6,6,51,183,330,330,330,330,331,331,36,331,116,331',
535
- '331,331,331,87,116,31,31,88,31,331,89,268,304,328,183,6,331,331,331',
536
- '331,331,331,331,331,331,384,331,331,331,331,331,331,331,331,331,331',
537
- '268,304,328,331,331,331,385,386,331,331,331,310,169,169,384,331,331',
538
- '331,331,331,331,331,331,331,331,331,331,331,331,90,310,385,386,331,331',
539
- '331,331,332,332,91,332,93,332,332,332,332,0,0,0,186,186,94,332,209,209',
540
- '210,210,211,211,332,332,332,332,332,332,332,332,332,95,332,332,332,332',
541
- '332,332,332,332,332,332,212,212,113,332,332,332,213,213,332,332,332',
542
- '214,214,220,220,332,332,332,332,332,332,332,332,332,332,332,332,332',
543
- '332,356,356,115,356,332,332,332,332,34,117,34,120,34,121,34,356,34,221',
544
- '221,222,222,34,356,356,356,356,356,356,356,356,356,127,356,356,356,356',
545
- '356,356,356,356,356,356,264,264,128,356,356,356,270,270,356,356,356',
546
- '34,347,347,129,356,356,356,356,356,356,356,356,356,356,356,356,356,356',
547
- '374,374,130,374,356,356,356,356,357,357,358,358,131,34,132,374,371,371',
548
- '377,377,380,380,374,374,374,374,374,374,374,374,374,133,374,374,374',
549
- '374,374,374,374,374,374,374,382,382,134,374,374,374,391,391,374,374',
550
- '374,406,406,408,408,374,374,374,374,374,374,374,374,374,374,374,374',
551
- '374,374,409,409,135,136,374,374,374,374,387,387,137,387,138,387,387',
552
- '387,387,139,140,141,142,145,146,387,148,150,153,154,161,162,387,387',
553
- '387,387,387,387,387,387,387,163,387,387,387,387,387,387,387,387,387',
554
- '387,188,204,218,387,387,387,219,224,387,387,387,229,240,241,242,387',
555
- '387,387,387,387,387,387,387,387,387,387,387,387,387,414,414,243,414',
556
- '387,387,387,387,244,246,247,251,254,256,257,414,258,259,261,279,281',
557
- '282,414,414,414,414,414,414,414,414,414,286,414,414,414,414,414,414',
558
- '414,414,414,414,300,301,302,414,414,414,316,317,414,414,414,318,326',
559
- '329,333,414,414,414,414,414,414,414,414,414,414,414,414,414,414,334',
560
- '335,337,355,414,414,414,414,49,359,363,49,49,49,49,365,367,378,49,49',
561
- '49,381,49,49,49,383,49,388,49,49,49,49,49,49,49,49,49,49,49,49,49,49',
562
- '49,49,49,49,49,49,389,49,390,394,400,49,402,49,405,49,49,411,415,,,',
563
- '49,49,49,49,49,49,49,,,,49,49,49,,,,,49,49,49,49,156,,,156,156,156,156',
564
- ',,,156,156,156,,156,,156,,156,,156,156,156,156,156,156,156,156,156,156',
565
- '156,156,156,156,156,156,156,156,156,156,,156,,,114,156,,114,,114,,,',
566
- ',,,156,156,156,156,156,156,156,,,,156,156,156,114,,,,156,156,156,156',
567
- '194,,,194,194,194,194,,,,194,194,194,,194,194,194,,194,,194,194,194',
568
- '194,194,194,194,194,194,194,194,194,194,194,194,194,194,194,194,194',
569
- ',194,,,,194,,194,,194,194,,,,,,194,194,194,194,194,194,194,,,,194,194',
570
- '194,,,,,194,194,194,194,195,,,195,195,195,195,,,,195,195,195,,195,195',
571
- '195,,195,,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195',
572
- '195,195,195,195,195,,195,,,,195,,195,,195,195,,,,,,195,195,195,195,195',
573
- '195,195,,,,195,195,195,,,,,195,195,195,195,196,,,196,196,196,196,,,',
574
- '196,196,196,,196,196,196,,196,,196,196,196,196,196,196,196,196,196,196',
575
- '196,196,196,196,196,196,196,196,196,196,,196,,,,196,,196,,,196,,,,,',
576
- '196,196,196,196,196,196,196,,,,196,196,196,,,,,196,196,196,196,205,',
577
- ',205,205,205,205,,,,205,205,205,,205,205,205,,205,,205,205,205,205,205',
578
- '205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,,205,,,',
579
- '205,,205,,205,205,,,,,,205,205,205,205,205,205,205,,,,205,205,205,,',
580
- ',,205,205,205,205,252,,,252,252,252,252,,,,252,252,252,,252,252,252',
581
- ',252,,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252',
582
- '252,252,252,252,,252,,,,252,,252,,,252,,,,,,252,252,252,252,252,252',
583
- '252,,,,252,252,252,,,,,252,252,252,252,30,30,30,30,,,,30,30,30,,,,,',
536
+ '326,326,48,326,1,280,5,177,218,7,325,382,28,219,220,326,24,219,325,382',
537
+ '44,44,326,326,326,326,326,326,326,326,326,248,326,326,326,326,326,326',
538
+ '326,326,326,326,270,48,28,326,326,326,177,218,326,326,326,280,219,220',
539
+ '276,326,326,326,326,326,326,326,326,326,326,326,326,326,326,47,248,123',
540
+ '27,326,326,326,326,333,333,278,333,270,333,333,333,333,32,119,35,322',
541
+ '323,324,333,160,208,276,123,47,47,333,333,333,333,333,333,333,333,333',
542
+ '183,333,333,333,333,333,333,333,333,333,333,119,278,51,333,333,333,160',
543
+ '208,333,333,333,322,323,324,183,333,333,333,333,333,333,333,333,333',
544
+ '333,333,333,333,333,6,6,51,271,333,333,333,333,334,334,36,334,116,334',
545
+ '334,334,334,46,116,31,31,87,31,334,89,307,331,387,271,6,334,334,334',
546
+ '334,334,334,334,334,334,388,334,334,334,334,334,334,334,334,334,334',
547
+ '307,331,387,334,334,334,389,90,334,334,334,313,169,169,388,334,334,334',
548
+ '334,334,334,334,334,334,334,334,334,334,334,91,313,389,93,334,334,334',
549
+ '334,335,335,94,335,95,335,335,335,335,0,0,0,188,188,113,335,212,212',
550
+ '213,213,214,214,335,335,335,335,335,335,335,335,335,115,335,335,335',
551
+ '335,335,335,335,335,335,335,215,215,117,335,335,335,216,216,335,335',
552
+ '335,217,217,223,223,335,335,335,335,335,335,335,335,335,335,335,335',
553
+ '335,335,359,359,120,359,335,335,335,335,34,121,34,124,34,127,34,359',
554
+ '34,224,224,225,225,34,359,359,359,359,359,359,359,359,359,128,359,359',
555
+ '359,359,359,359,359,359,359,359,267,267,129,359,359,359,273,273,359',
556
+ '359,359,34,350,350,130,359,359,359,359,359,359,359,359,359,359,359,359',
557
+ '359,359,377,377,131,377,359,359,359,359,360,360,361,361,132,34,133,377',
558
+ '374,374,380,380,383,383,377,377,377,377,377,377,377,377,377,134,377',
559
+ '377,377,377,377,377,377,377,377,377,385,385,135,377,377,377,394,394',
560
+ '377,377,377,409,409,411,411,377,377,377,377,377,377,377,377,377,377',
561
+ '377,377,377,377,412,412,136,137,377,377,377,377,390,390,138,390,139',
562
+ '390,390,390,390,140,141,142,145,146,148,390,150,153,154,161,162,163',
563
+ '390,390,390,390,390,390,390,390,390,164,390,390,390,390,390,390,390',
564
+ '390,390,390,190,206,221,390,390,390,222,227,390,390,390,232,243,244',
565
+ '245,390,390,390,390,390,390,390,390,390,390,390,390,390,390,417,417',
566
+ '246,417,390,390,390,390,247,249,250,254,257,259,260,417,261,262,264',
567
+ '282,284,285,417,417,417,417,417,417,417,417,417,289,417,417,417,417',
568
+ '417,417,417,417,417,417,303,304,305,417,417,417,319,320,417,417,417',
569
+ '321,329,332,336,417,417,417,417,417,417,417,417,417,417,417,417,417',
570
+ '417,337,338,340,358,417,417,417,417,49,362,366,49,49,49,49,368,370,381',
571
+ '49,49,49,384,49,49,49,386,49,391,49,49,49,49,49,49,49,49,49,49,49,49',
572
+ '49,49,49,49,49,49,49,49,392,49,393,397,403,49,405,49,408,49,49,414,418',
573
+ ',,,49,49,49,49,49,49,49,,,,49,49,49,,,,,49,49,49,49,156,,,156,156,156',
574
+ '156,,,,156,156,156,,156,,156,,156,,156,156,156,156,156,156,156,156,156',
575
+ '156,156,156,156,156,156,156,156,156,156,156,,156,,,114,156,,114,,114',
576
+ ',,,,,,156,156,156,156,156,156,156,,,,156,156,156,114,,,,156,156,156',
577
+ '156,196,,,196,196,196,196,,,,196,196,196,,196,196,196,,196,,196,196',
578
+ '196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196',
579
+ '196,,196,,,,196,,196,,196,196,,,,,,196,196,196,196,196,196,196,,,,196',
580
+ '196,196,,,,,196,196,196,196,197,,,197,197,197,197,,,,197,197,197,,197',
581
+ '197,197,,197,,197,197,197,197,197,197,197,197,197,197,197,197,197,197',
582
+ '197,197,197,197,197,197,,197,,,,197,,197,,197,197,,,,,,197,197,197,197',
583
+ '197,197,197,,,,197,197,197,,,,,197,197,197,197,198,,,198,198,198,198',
584
+ ',,,198,198,198,,198,198,198,,198,,198,198,198,198,198,198,198,198,198',
585
+ '198,198,198,198,198,198,198,198,198,198,198,,198,,,,198,,198,,,198,',
586
+ ',,,,198,198,198,198,198,198,198,,,,198,198,198,,,,,198,198,198,198,207',
587
+ ',,207,207,207,207,,,,207,207,207,,207,207,207,,207,,207,207,207,207',
588
+ '207,207,207,207,207,207,207,207,207,207,207,207,207,207,207,207,,207',
589
+ ',,,207,,207,,207,207,,,,,,207,207,207,207,207,207,207,,,,207,207,207',
590
+ ',,,,207,207,207,207,255,,,255,255,255,255,,,,255,255,255,,255,255,255',
591
+ ',255,,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255',
592
+ '255,255,255,255,,255,,,,255,,255,,,255,,,,,,255,255,255,255,255,255',
593
+ '255,,,,255,255,255,,,,,255,255,255,255,30,30,30,30,,,,30,30,30,,,,,',
584
594
  ',,30,30,30,30,30,30,30,30,30,,30,30,30,30,30,30,30,30,30,30,,,,,,,,',
585
595
  '143,,143,,,,,,30,30,30,30,30,30,30,,30,30,30,30,30,,,,,30,30,30,30,165',
586
596
  '165,165,165,,,,165,165,165,,,,,,143,143,165,165,165,165,165,165,165',
587
597
  '165,165,,165,165,165,165,165,165,165,165,165,165,143,,,,,,,,,,,,,,,',
588
- '165,165,165,165,165,165,165,,165,165,165,165,165,197,197,197,197,165',
589
- '165,165,165,,,,,,,,,,197,197,197,197,197,197,197,197,197,,197,197,197',
590
- '197,197,197,197,197,197,197,199,,199,,,,,197,,,197,,,,,,197,197,197',
591
- '197,197,197,197,201,,201,197,197,197,198,198,198,198,197,197,197,197',
592
- ',,,,,,,199,199,198,198,198,198,198,198,198,198,198,,198,198,198,198',
593
- '198,198,198,198,198,198,199,201,201,,,,,198,,,198,,,,,,198,198,198,198',
594
- '198,198,198,201,,,198,198,198,231,231,231,231,198,198,198,198,,,,,,',
595
- ',,,231,231,231,231,231,231,231,231,231,,231,231,231,231,231,231,231',
596
- '231,231,231,202,,202,203,,203,235,,235,,,,,,,,231,231,231,231,231,231',
597
- '231,,,,231,231,231,,,,,231,231,231,231,,,,,,,,202,202,,203,203,,235',
598
- '235,274,,274,,274,,274,,,274,274,274,,,202,,,203,,,235,,278,,278,,278',
599
- ',278,,274,278,278,278,,,,,,274,274,,,274,285,,285,,285,,285,,278,285',
600
- '285,285,,,,274,,278,278,,287,278,,287,,287,,,287,,285,,,,,,,278,,285',
601
- '285,,2,285,,287,,287,287,287,287,287,2,2,2,287,2,,2,285,2,,2,2,2,2,2',
598
+ '165,165,165,165,165,165,165,,165,165,165,165,165,199,199,199,199,165',
599
+ '165,165,165,,,,,,,,,,199,199,199,199,199,199,199,199,199,,199,199,199',
600
+ '199,199,199,199,199,199,199,201,,201,,,,,199,,,199,,,,,,199,199,199',
601
+ '199,199,199,199,203,,203,199,199,199,200,200,200,200,199,199,199,199',
602
+ ',,,,,,,201,201,200,200,200,200,200,200,200,200,200,,200,200,200,200',
603
+ '200,200,200,200,200,200,201,203,203,,,,,200,,,200,,,,,,200,200,200,200',
604
+ '200,200,200,203,,,200,200,200,234,234,234,234,200,200,200,200,,,,,,',
605
+ ',,,234,234,234,234,234,234,234,234,234,,234,234,234,234,234,234,234',
606
+ '234,234,234,204,,204,205,,205,238,,238,,,,,,,,234,234,234,234,234,234',
607
+ '234,,,,234,234,234,,,,,234,234,234,234,,,,,,,,204,204,,205,205,,238',
608
+ '238,277,,277,,277,,277,,,277,277,277,,,204,,,205,,,238,,281,,281,,281',
609
+ ',281,,277,281,281,281,,,,,,277,277,,,277,288,,288,,288,,288,,281,288',
610
+ '288,288,,,,277,,281,281,,290,281,,290,,290,,,290,,288,,,,,,,281,,288',
611
+ '288,,2,288,,290,,290,290,290,290,290,2,2,2,290,2,,2,288,2,,2,2,2,2,2',
602
612
  '2,2,2,2,2,2,2,2,2,,,25,,,,,2,,,,2,25,25,25,,25,,25,25,25,,25,25,25,25',
603
613
  '25,25,25,25,25,25,25,25,25,25,,,26,,,,,25,,,,25,26,26,26,,26,,26,,26',
604
614
  ',26,26,26,26,26,26,26,26,26,26,26,26,26,26,,,40,,,,,26,,,,26,40,40,40',
@@ -608,54 +618,56 @@ clist = [
608
618
  '43,43,43,43,,,53,,,,,43,,,,43,53,53,53,,53,,53,,53,,53,53,53,53,53,53',
609
619
  '53,53,53,53,53,53,53,53,,,92,,,,,53,,,,53,92,92,92,,92,,92,,92,,92,92',
610
620
  '92,92,92,92,92,92,92,92,92,92,92,92,,,125,,,,,92,,,,92,125,125,125,',
611
- '125,,125,,125,,125,125,125,125,125,125,125,125,125,125,125,125,125,125',
612
- ',,157,,,,,125,,,,125,157,157,157,,157,,157,,157,,157,157,157,157,157',
613
- '157,157,157,157,157,157,157,157,157,,,158,,,,,157,,,,157,158,158,158',
614
- ',158,,158,,158,,158,158,158,158,158,158,158,158,158,158,158,158,158',
615
- '158,,,159,,,,,158,,,,158,159,159,159,,159,,159,,159,,159,159,159,159',
616
- '159,159,159,159,159,159,159,159,159,159,,,166,,,,,159,,,,159,166,166',
617
- '166,,166,,166,,166,,166,166,166,166,166,166,166,166,166,166,166,166',
618
- '166,166,,,167,,,,,166,,,,166,167,167,167,,167,,167,,167,,167,167,167',
619
- '167,167,167,167,167,167,167,167,167,167,167,,,168,,,,,167,,,,167,168',
620
- '168,168,,168,,168,,168,,168,168,168,168,168,168,168,168,168,168,168',
621
- '168,168,168,,,170,,,,,168,,,,168,170,170,170,,170,,170,,170,,170,170',
622
- '170,170,170,170,170,170,170,170,170,170,170,170,,,171,,,,,170,,,,170',
623
- '171,171,171,,171,,171,,171,,171,171,171,171,171,171,171,171,171,171',
624
- '171,171,171,171,,,172,,,,,171,,,,171,172,172,172,,172,,172,,172,,172',
625
- '172,172,172,172,172,172,172,172,172,172,172,172,172,,,178,,,,,172,,',
626
- ',172,178,178,178,,178,,178,,178,,178,178,178,178,178,178,178,178,178',
621
+ '125,,125,125,125,,125,125,125,125,125,125,125,125,125,125,125,125,125',
622
+ '125,,,157,,,,,125,,,,125,157,157,157,,157,,157,,157,,157,157,157,157',
623
+ '157,157,157,157,157,157,157,157,157,157,,,158,,,,,157,,,,157,158,158',
624
+ '158,,158,,158,,158,,158,158,158,158,158,158,158,158,158,158,158,158',
625
+ '158,158,,,159,,,,,158,,,,158,159,159,159,,159,,159,,159,,159,159,159',
626
+ '159,159,159,159,159,159,159,159,159,159,159,,,166,,,,,159,,,,159,166',
627
+ '166,166,,166,,166,,166,,166,166,166,166,166,166,166,166,166,166,166',
628
+ '166,166,166,,,167,,,,,166,,,,166,167,167,167,,167,,167,,167,,167,167',
629
+ '167,167,167,167,167,167,167,167,167,167,167,167,,,168,,,,,167,,,,167',
630
+ '168,168,168,,168,,168,,168,,168,168,168,168,168,168,168,168,168,168',
631
+ '168,168,168,168,,,170,,,,,168,,,,168,170,170,170,,170,,170,,170,,170',
632
+ '170,170,170,170,170,170,170,170,170,170,170,170,170,,,171,,,,,170,,',
633
+ ',170,171,171,171,,171,,171,,171,,171,171,171,171,171,171,171,171,171',
634
+ '171,171,171,171,171,,,172,,,,,171,,,,171,172,172,172,,172,,172,,172',
635
+ ',172,172,172,172,172,172,172,172,172,172,172,172,172,172,,,178,,,,,172',
636
+ ',,,172,178,178,178,,178,,178,,178,,178,178,178,178,178,178,178,178,178',
627
637
  '178,178,178,178,178,,,179,,,,,178,,,,178,179,179,179,,179,,179,,179',
628
638
  ',179,179,179,179,179,179,179,179,179,179,179,179,179,179,,,181,,,,,179',
629
639
  ',,,179,181,181,181,,181,,181,,181,,181,181,181,181,181,181,181,181,181',
630
- '181,181,181,181,181,,,200,,,,,181,,,,181,200,200,200,,200,,200,,200',
631
- ',200,200,200,200,200,200,200,200,200,200,200,200,200,200,,,207,,,,,200',
632
- ',,,200,207,207,207,,207,,207,,207,,207,207,207,207,207,207,207,207,207',
633
- '207,207,207,207,207,,,225,,,,,207,,,,207,225,225,225,,225,,225,,225',
634
- ',225,225,225,225,225,225,225,225,225,225,225,225,225,225,,,248,,,,,225',
635
- ',,,225,248,248,248,,248,,248,,248,,248,248,248,248,248,248,248,248,248',
636
- '248,248,248,248,248,,,276,,,,,248,,,,248,276,276,276,,276,,276,,276',
637
- ',276,276,276,276,276,276,276,276,276,276,276,276,276,276,,,312,,,,,276',
638
- ',,,276,312,312,312,,312,,312,,312,,312,312,312,312,312,312,312,312,312',
639
- '312,312,312,312,312,,,324,,,,,312,,,,312,324,324,324,,324,,324,,324',
640
- ',324,324,324,324,324,324,324,324,324,324,324,324,324,324,,,325,,,,,324',
641
- ',,,324,325,325,325,,325,,325,,325,,325,325,325,325,325,325,325,325,325',
642
- '325,325,325,325,325,,,362,,,,,325,,,,325,362,362,362,,362,,362,,362',
643
- ',362,362,362,362,362,362,362,362,362,362,362,362,362,362,,,364,,,,,362',
644
- ',,,362,364,364,364,,364,,364,,364,,364,364,364,364,364,364,364,364,364',
645
- '364,364,364,364,364,,,366,,,,,364,,,,364,366,366,366,,366,,366,,366',
646
- ',366,366,366,366,366,366,366,366,366,366,366,366,366,366,,,368,,,,,366',
647
- ',,,366,368,368,368,,368,,368,,368,,368,368,368,368,368,368,368,368,368',
648
- '368,368,368,368,368,,,369,,,,,368,,,,368,369,369,369,,369,,369,,369',
649
- ',369,369,369,369,369,369,369,369,369,369,369,369,369,369,,,370,,,,,369',
650
- ',,,369,370,370,370,,370,,370,,370,,370,370,370,370,370,370,370,370,370',
651
- '370,370,370,370,370,,,376,,,,,370,,,,370,376,376,376,,376,,376,,376',
652
- ',376,376,376,376,376,376,376,376,376,376,376,376,376,376,,,392,,,,,376',
653
- ',,,376,392,392,392,,392,,392,,392,,392,392,392,392,392,392,392,392,392',
654
- '392,392,392,392,392,,,395,,,,,392,,,,392,395,395,395,,395,,395,,395',
655
- ',395,395,395,395,395,395,395,395,395,395,395,395,395,395,,,396,,,,,395',
656
- ',,,395,396,396,396,,396,,396,,396,,396,396,396,396,396,396,396,396,396',
657
- '396,396,396,396,396,,,,,,,,396,,,,396' ]
658
- racc_action_check = arr = ::Array.new(3008, nil)
640
+ '181,181,181,181,181,,,186,,,,,181,,,,181,186,186,186,,186,,186,,186',
641
+ ',186,186,186,186,186,186,186,186,186,186,186,186,186,186,,,202,,,,,186',
642
+ ',,,186,202,202,202,,202,,202,,202,,202,202,202,202,202,202,202,202,202',
643
+ '202,202,202,202,202,,,209,,,,,202,,,,202,209,209,209,,209,,209,,209',
644
+ ',209,209,209,209,209,209,209,209,209,209,209,209,209,209,,,228,,,,,209',
645
+ ',,,209,228,228,228,,228,,228,,228,,228,228,228,228,228,228,228,228,228',
646
+ '228,228,228,228,228,,,251,,,,,228,,,,228,251,251,251,,251,,251,,251',
647
+ ',251,251,251,251,251,251,251,251,251,251,251,251,251,251,,,279,,,,,251',
648
+ ',,,251,279,279,279,,279,,279,,279,,279,279,279,279,279,279,279,279,279',
649
+ '279,279,279,279,279,,,315,,,,,279,,,,279,315,315,315,,315,,315,,315',
650
+ ',315,315,315,315,315,315,315,315,315,315,315,315,315,315,,,327,,,,,315',
651
+ ',,,315,327,327,327,,327,,327,,327,,327,327,327,327,327,327,327,327,327',
652
+ '327,327,327,327,327,,,328,,,,,327,,,,327,328,328,328,,328,,328,,328',
653
+ ',328,328,328,328,328,328,328,328,328,328,328,328,328,328,,,365,,,,,328',
654
+ ',,,328,365,365,365,,365,,365,,365,,365,365,365,365,365,365,365,365,365',
655
+ '365,365,365,365,365,,,367,,,,,365,,,,365,367,367,367,,367,,367,,367',
656
+ ',367,367,367,367,367,367,367,367,367,367,367,367,367,367,,,369,,,,,367',
657
+ ',,,367,369,369,369,,369,,369,,369,,369,369,369,369,369,369,369,369,369',
658
+ '369,369,369,369,369,,,371,,,,,369,,,,369,371,371,371,,371,,371,,371',
659
+ ',371,371,371,371,371,371,371,371,371,371,371,371,371,371,,,372,,,,,371',
660
+ ',,,371,372,372,372,,372,,372,,372,,372,372,372,372,372,372,372,372,372',
661
+ '372,372,372,372,372,,,373,,,,,372,,,,372,373,373,373,,373,,373,,373',
662
+ ',373,373,373,373,373,373,373,373,373,373,373,373,373,373,,,379,,,,,373',
663
+ ',,,373,379,379,379,,379,,379,,379,,379,379,379,379,379,379,379,379,379',
664
+ '379,379,379,379,379,,,395,,,,,379,,,,379,395,395,395,,395,,395,,395',
665
+ ',395,395,395,395,395,395,395,395,395,395,395,395,395,395,,,398,,,,,395',
666
+ ',,,395,398,398,398,,398,,398,,398,,398,398,398,398,398,398,398,398,398',
667
+ '398,398,398,398,398,,,399,,,,,398,,,,398,399,399,399,,399,,399,,399',
668
+ ',399,399,399,399,399,399,399,399,399,399,399,399,399,399,,,,,,,,399',
669
+ ',,,399' ]
670
+ racc_action_check = arr = ::Array.new(3044, nil)
659
671
  idx = 0
660
672
  clist.each do |str|
661
673
  str.split(',', -1).each do |i|
@@ -669,192 +681,194 @@ racc_action_pointer = [
669
681
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
670
682
  nil, nil, nil, nil, -4, 1626, 1662, 56, -6, nil,
671
683
  1140, 167, 84, nil, 316, 14, 140, nil, nil, nil,
672
- 1698, 1734, nil, 1770, -27, nil, 52, 52, -2, 604,
684
+ 1698, 1734, nil, 1770, -27, nil, 121, 52, -2, 604,
673
685
  nil, 101, nil, 1806, nil, nil, nil, nil, nil, nil,
674
686
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
675
687
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
676
- nil, nil, nil, nil, nil, nil, nil, 144, 125, 119,
677
- 174, 184, 1842, 197, 207, 224, nil, nil, nil, nil,
688
+ nil, nil, nil, nil, nil, nil, nil, 125, nil, 119,
689
+ 152, 174, 1842, 188, 195, 197, nil, nil, nil, nil,
678
690
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
679
- nil, nil, nil, 268, 694, 266, 160, 273, nil, 71,
680
- 317, 273, nil, 89, nil, 1878, nil, 320, 350, 345,
681
- 337, 347, 349, 366, 379, 408, 409, 416, 418, 423,
682
- 424, 451, 426, 1189, nil, 427, 426, nil, 428, nil,
683
- 429, nil, nil, 430, 431, nil, 681, 1914, 1950, 1986,
684
- 77, 456, 429, 438, nil, 1214, 2022, 2058, 2094, 165,
691
+ nil, nil, nil, 238, 694, 224, 160, 237, nil, 71,
692
+ 308, 269, nil, 52, 298, 1878, nil, 302, 337, 333,
693
+ 320, 337, 347, 349, 366, 379, 408, 409, 416, 418,
694
+ 423, 450, 425, 1189, nil, 426, 425, nil, 426, nil,
695
+ 428, nil, nil, 429, 430, nil, 681, 1914, 1950, 1986,
696
+ 77, 455, 428, 428, 466, 1214, 2022, 2058, 2094, 165,
685
697
  2130, 2166, 2202, nil, nil, nil, nil, 3, 2238, 2274,
686
- nil, 2310, nil, 132, nil, nil, 202, nil, 450, nil,
687
- nil, nil, nil, nil, 758, 835, 912, 1280, 1346, 1321,
688
- 2346, 1344, 1453, 1456, 478, 989, 78, 2382, nil, 206,
689
- 208, 210, 232, 238, 243, 4, 9, 10, 446, 503,
690
- 245, 278, 280, nil, 505, 2418, nil, nil, nil, 465,
691
- nil, 1412, nil, nil, nil, 1459, nil, nil, nil, nil,
692
- 493, 490, 463, 511, 517, 27, 518, 534, 2454, nil,
693
- nil, 489, 1066, nil, 491, nil, 483, 464, 501, 500,
694
- nil, 527, nil, nil, 303, nil, nil, 38, 154, nil,
695
- 279, nil, nil, 52, 1506, 77, 2490, -8, 1528, 528,
696
- nil, 470, 548, nil, nil, 1550, 514, 1537, nil, nil,
697
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
698
- 527, 528, 516, nil, 155, nil, nil, nil, nil, nil,
699
- 168, nil, 2526, nil, nil, nil, 545, 546, 550, 87,
700
- 88, 89, -62, -2, 2562, 2598, 572, nil, 156, 527,
701
- 77, 156, 235, 565, 580, 581, nil, 563, nil, nil,
702
- nil, nil, nil, nil, nil, nil, nil, 311, nil, nil,
703
- nil, nil, nil, nil, nil, 546, 306, 340, 342, 565,
704
- nil, nil, 2634, 592, 2670, 597, 2706, 598, 2742, 2778,
705
- 2814, 363, nil, nil, 377, nil, 2850, 350, 573, 0,
706
- 352, 577, 374, 581, 168, 185, 186, 456, 570, 591,
707
- 618, 380, 2886, nil, 632, 2922, 2958, nil, nil, nil,
708
- 594, nil, 610, nil, nil, 599, 385, nil, 387, 403,
709
- nil, 612, nil, nil, 527, 602, nil, nil ]
698
+ nil, 2310, nil, 89, nil, nil, 2346, nil, 202, nil,
699
+ 450, nil, nil, nil, nil, nil, 758, 835, 912, 1280,
700
+ 1346, 1321, 2382, 1344, 1453, 1456, 478, 989, 78, 2418,
701
+ nil, nil, 206, 208, 210, 232, 238, 243, 4, 9,
702
+ 10, 446, 503, 245, 278, 280, nil, 505, 2454, nil,
703
+ nil, nil, 465, nil, 1412, nil, nil, nil, 1459, nil,
704
+ nil, nil, nil, 493, 490, 463, 511, 517, 27, 518,
705
+ 534, 2490, nil, nil, 489, 1066, nil, 491, nil, 483,
706
+ 464, 501, 500, nil, 527, nil, nil, 303, nil, nil,
707
+ 38, 132, nil, 279, nil, nil, 52, 1506, 77, 2526,
708
+ -8, 1528, 528, nil, 470, 548, nil, nil, 1550, 514,
709
+ 1537, nil, nil, nil, nil, nil, nil, nil, nil, nil,
710
+ nil, nil, nil, 527, 528, 516, nil, 154, nil, nil,
711
+ nil, nil, nil, 168, nil, 2562, nil, nil, nil, 545,
712
+ 546, 550, 87, 88, 89, -62, -2, 2598, 2634, 572,
713
+ nil, 155, 527, 77, 156, 235, 565, 580, 581, nil,
714
+ 563, nil, nil, nil, nil, nil, nil, nil, nil, nil,
715
+ 311, nil, nil, nil, nil, nil, nil, nil, 546, 306,
716
+ 340, 342, 565, nil, nil, 2670, 592, 2706, 597, 2742,
717
+ 598, 2778, 2814, 2850, 363, nil, nil, 377, nil, 2886,
718
+ 350, 573, 0, 352, 577, 374, 581, 156, 168, 185,
719
+ 456, 570, 591, 618, 380, 2922, nil, 632, 2958, 2994,
720
+ nil, nil, nil, 594, nil, 610, nil, nil, 599, 385,
721
+ nil, 387, 403, nil, 612, nil, nil, 527, 602, nil,
722
+ nil ]
710
723
 
711
724
  racc_action_default = [
712
- -246, -246, -242, -6, -15, -246, -4, -157, -160, -161,
725
+ -248, -248, -242, -6, -15, -248, -4, -157, -160, -161,
713
726
  -162, -163, -164, -165, -166, -167, -168, -169, -170, -171,
714
- -172, -173, -174, -175, -176, -242, -242, -246, -80, -184,
715
- -246, -246, -243, -245, -16, -4, -147, 418, -1, -5,
716
- -242, -242, -183, -242, -185, -178, -246, -246, -242, -242,
717
- -182, -246, -204, -242, -104, -105, -106, -107, -108, -109,
727
+ -172, -173, -174, -175, -176, -242, -242, -248, -80, -184,
728
+ -248, -248, -243, -245, -16, -4, -147, 421, -1, -5,
729
+ -242, -242, -183, -242, -185, -178, -247, -248, -242, -242,
730
+ -182, -248, -204, -242, -104, -105, -106, -107, -108, -109,
718
731
  -110, -111, -112, -113, -114, -115, -116, -117, -118, -119,
719
732
  -120, -121, -122, -123, -124, -125, -126, -127, -128, -129,
720
- -130, -131, -132, -133, -134, -135, -136, -246, -188, -246,
721
- -246, -246, -242, -246, -246, -246, -199, -200, -201, -202,
733
+ -130, -131, -132, -133, -134, -135, -136, -247, -188, -248,
734
+ -248, -248, -242, -248, -248, -248, -199, -200, -201, -202,
722
735
  -235, -236, -237, -238, -244, -2, -7, -8, -9, -10,
723
- -11, -12, -13, -16, -246, -246, -246, -246, -3, -80,
724
- -246, -158, -159, -246, -179, -242, -180, -246, -246, -246,
736
+ -11, -12, -13, -16, -248, -248, -248, -248, -3, -80,
737
+ -248, -158, -159, -248, -248, -242, -180, -248, -248, -248,
725
738
  -170, -160, -164, -171, -172, -161, -162, -165, -166, -169,
726
- -163, -115, -167, -231, -197, -246, -208, -209, -211, -212,
739
+ -163, -115, -167, -231, -197, -248, -208, -209, -211, -212,
727
740
  -214, -215, -218, -221, -223, -224, -242, -242, -242, -242,
728
- -246, -246, -246, -206, -187, -246, -242, -242, -242, -193,
741
+ -248, -248, -248, -206, -248, -246, -242, -242, -242, -193,
729
742
  -242, -242, -242, -17, -14, -14, -14, -242, -242, -242,
730
- -240, -242, -79, -246, -149, -177, -186, -181, -81, -225,
731
- -232, -233, -234, -198, -242, -242, -242, -219, -219, -231,
732
- -242, -231, -231, -231, -246, -242, -246, -242, -189, -190,
733
- -191, -192, -194, -195, -196, -242, -242, -242, -246, -246,
734
- -154, -155, -156, -148, -246, -242, -207, -215, -210, -217,
735
- -213, -246, -220, -222, -226, -231, -227, -228, -230, -82,
736
- -246, -246, -203, -137, -137, -242, -137, -246, -242, -241,
737
- -150, -205, -242, -229, -246, -83, -19, -145, -24, -30,
738
- -26, -29, -57, -239, -153, -216, -30, -242, -246, -139,
739
- -142, -146, -30, -242, -16, -242, -242, -16, -16, -20,
740
- -138, -145, -246, -143, -144, -16, -25, -71, -23, -31,
741
- -32, -33, -34, -35, -36, -37, -38, -39, -40, -41,
742
- -246, -246, -246, -27, -246, -56, -58, -59, -60, -61,
743
- -71, -18, -242, -140, -141, -22, -42, -42, -42, -242,
744
- -242, -242, -68, -246, -242, -242, -246, -28, -246, -246,
745
- -246, -246, -246, -62, -64, -66, -69, -246, -72, -86,
746
- -87, -88, -89, -90, -91, -92, -93, -94, -97, -98,
747
- -99, -100, -101, -102, -103, -129, -246, -53, -54, -246,
748
- -21, -43, -242, -50, -242, -50, -242, -50, -242, -242,
749
- -242, -73, -95, -96, -246, -151, -242, -44, -246, -246,
750
- -46, -246, -48, -246, -246, -246, -246, -246, -246, -246,
751
- -246, -55, -242, -51, -246, -242, -242, -63, -65, -67,
752
- -15, -84, -246, -74, -75, -246, -45, -52, -47, -49,
753
- -70, -76, -77, -85, -246, -15, -152, -78 ]
743
+ -240, -242, -79, -248, -149, -177, -242, -179, -186, -181,
744
+ -81, -225, -232, -233, -234, -198, -242, -242, -242, -219,
745
+ -219, -231, -242, -231, -231, -231, -248, -242, -248, -242,
746
+ -187, -189, -190, -191, -192, -194, -195, -196, -242, -242,
747
+ -242, -248, -248, -154, -155, -156, -148, -248, -242, -207,
748
+ -215, -210, -217, -213, -248, -220, -222, -226, -231, -227,
749
+ -228, -230, -82, -248, -248, -203, -137, -137, -242, -137,
750
+ -248, -242, -241, -150, -205, -242, -229, -248, -83, -19,
751
+ -145, -24, -30, -26, -29, -57, -239, -153, -216, -30,
752
+ -242, -248, -139, -142, -146, -30, -242, -16, -242, -242,
753
+ -16, -16, -20, -138, -145, -248, -143, -144, -16, -25,
754
+ -71, -23, -31, -32, -33, -34, -35, -36, -37, -38,
755
+ -39, -40, -41, -248, -248, -248, -27, -248, -56, -58,
756
+ -59, -60, -61, -71, -18, -242, -140, -141, -22, -42,
757
+ -42, -42, -242, -242, -242, -68, -248, -242, -242, -248,
758
+ -28, -248, -248, -248, -248, -248, -62, -64, -66, -69,
759
+ -248, -72, -86, -87, -88, -89, -90, -91, -92, -93,
760
+ -94, -97, -98, -99, -100, -101, -102, -103, -129, -248,
761
+ -53, -54, -248, -21, -43, -242, -50, -242, -50, -242,
762
+ -50, -242, -242, -242, -73, -95, -96, -248, -151, -242,
763
+ -44, -248, -248, -46, -248, -48, -248, -248, -248, -248,
764
+ -248, -248, -248, -248, -55, -242, -51, -248, -242, -242,
765
+ -63, -65, -67, -15, -84, -248, -74, -75, -248, -45,
766
+ -52, -47, -49, -70, -76, -77, -85, -248, -15, -152,
767
+ -78 ]
754
768
 
755
769
  racc_goto_table = [
756
- 6, 93, 129, 46, 92, 116, 127, 87, 114, 163,
757
- 189, 200, 50, 204, 227, 38, 230, 259, 261, 128,
758
- 356, 123, 229, 229, 47, 269, 410, 363, 365, 367,
759
- 378, 1, 381, 34, 383, 215, 216, 217, 121, 122,
760
- 35, 417, 106, 105, 118, 286, 261, 143, 261, 313,
761
- 274, 256, 258, 375, 262, 232, 233, 278, 266, 241,
762
- 330, 331, 332, 285, 272, 303, 234, 307, 236, 237,
763
- 238, 390, 265, 308, 309, 246, 277, 306, 337, 229,
764
- 387, 400, 119, 162, 402, 268, 200, 173, 282, 183,
765
- 169, 218, 333, 334, 335, 228, 100, nil, nil, nil,
766
- nil, nil, 253, 182, nil, nil, nil, nil, nil, nil,
767
- nil, 416, nil, nil, nil, nil, nil, nil, nil, nil,
768
- nil, nil, nil, 186, nil, nil, nil, nil, nil, nil,
770
+ 6, 93, 127, 46, 92, 116, 163, 88, 114, 191,
771
+ 50, 202, 206, 129, 38, 230, 124, 233, 264, 128,
772
+ 272, 123, 359, 262, 47, 232, 232, 1, 277, 366,
773
+ 368, 370, 235, 236, 413, 281, 34, 35, 121, 122,
774
+ 106, 288, 105, 118, 316, 269, 264, 143, 264, 420,
775
+ 381, 289, 384, 275, 386, 378, 306, 164, 259, 261,
776
+ 244, 265, 218, 219, 220, 310, 311, 237, 312, 239,
777
+ 240, 241, 249, 393, 268, 333, 334, 335, 280, 309,
778
+ 340, 390, 403, 232, 119, 162, 405, 173, 271, 202,
779
+ 169, 285, 336, 337, 338, 183, 221, 87, 231, 100,
780
+ nil, 182, nil, nil, 256, nil, nil, nil, nil, nil,
781
+ nil, nil, nil, 419, nil, nil, nil, nil, nil, nil,
782
+ nil, nil, nil, 188, nil, nil, nil, nil, nil, nil,
769
783
  nil, nil, nil, nil, nil, nil, 93, nil, nil, 92,
770
- nil, nil, 208, nil, nil, nil, nil, 226, 219, nil,
771
- nil, nil, nil, nil, 199, 201, 202, 203, 240, nil,
772
- nil, nil, nil, 242, 209, 210, 211, nil, 212, 213,
773
- 214, nil, nil, 243, 244, nil, 220, 221, nil, 222,
774
- nil, 251, nil, nil, nil, nil, 128, 128, 247, nil,
775
- nil, nil, 143, 143, 143, nil, nil, nil, 235, nil,
776
- nil, nil, nil, 143, nil, nil, nil, nil, nil, nil,
784
+ nil, nil, 211, nil, nil, nil, nil, nil, 222, nil,
785
+ nil, nil, nil, nil, 201, 203, 204, 205, nil, nil,
786
+ 229, nil, 245, nil, 212, 213, 214, nil, 215, 216,
787
+ 217, 243, 246, 247, nil, nil, 223, 224, nil, 225,
788
+ nil, 254, nil, nil, 188, nil, nil, nil, nil, 128,
789
+ 128, 250, nil, nil, 143, 143, 143, nil, nil, nil,
790
+ 238, nil, nil, nil, nil, 143, nil, nil, nil, nil,
777
791
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
778
- nil, nil, nil, nil, nil, 279, nil, nil, nil, nil,
779
- nil, nil, nil, nil, nil, nil, nil, nil, 128, nil,
780
- nil, nil, nil, nil, nil, 116, 264, nil, nil, 116,
781
- 143, 310, nil, nil, 304, nil, 116, nil, nil, nil,
792
+ nil, nil, nil, nil, 282, nil, nil, nil, nil, nil,
782
793
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
794
+ nil, 128, nil, nil, nil, nil, nil, nil, 116, 267,
795
+ nil, nil, 116, 143, 313, nil, nil, 307, nil, 116,
783
796
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
784
797
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
785
- 328, nil, nil, nil, 354, nil, nil, nil, nil, nil,
786
- nil, 354, 354, 354, 362, 364, 366, nil, nil, nil,
787
798
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
788
- nil, nil, 357, 358, nil, nil, nil, 354, nil, nil,
799
+ nil, nil, nil, 331, nil, nil, nil, 357, nil, nil,
800
+ nil, nil, nil, nil, 357, 357, 357, 365, 367, 369,
789
801
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
790
- nil, nil, nil, nil, nil, 354, 384, 385, 386, nil,
791
- nil, nil, nil, nil, nil, nil, nil, nil, 354, nil,
792
- 377, 401, 380, nil, 382, nil, nil, nil, nil, nil,
793
- nil, nil, nil, nil, 391, nil, nil, nil, nil, nil,
794
- nil, nil, nil, nil, nil, 354, nil, nil, nil, nil,
795
- 406, nil, nil, 408, 409 ]
802
+ nil, nil, nil, nil, nil, 360, 361, nil, nil, nil,
803
+ 357, nil, nil, nil, nil, nil, nil, nil, nil, nil,
804
+ nil, nil, nil, nil, nil, nil, nil, nil, 357, 387,
805
+ 388, 389, nil, nil, nil, nil, nil, nil, nil, nil,
806
+ nil, 357, nil, 380, 404, 383, nil, 385, nil, nil,
807
+ nil, nil, nil, nil, nil, nil, nil, 394, nil, nil,
808
+ nil, nil, nil, nil, nil, nil, nil, nil, 357, nil,
809
+ nil, nil, nil, 409, nil, nil, 411, 412 ]
796
810
 
797
811
  racc_goto_check = [
798
- 2, 52, 48, 20, 34, 59, 16, 62, 15, 60,
799
- 75, 64, 46, 50, 70, 3, 70, 22, 24, 59,
800
- 35, 20, 65, 65, 2, 54, 44, 35, 35, 35,
801
- 36, 1, 36, 4, 36, 13, 13, 13, 2, 2,
802
- 5, 44, 6, 3, 3, 22, 24, 2, 24, 54,
803
- 19, 17, 17, 35, 17, 71, 71, 19, 18, 50,
804
- 33, 33, 33, 19, 21, 23, 75, 26, 75, 75,
805
- 75, 35, 70, 27, 32, 37, 38, 39, 40, 65,
806
- 42, 43, 45, 49, 35, 53, 64, 15, 56, 57,
807
- 2, 58, 24, 24, 24, 66, 76, nil, nil, nil,
808
- nil, nil, 75, 46, nil, nil, nil, nil, nil, nil,
809
- nil, 35, nil, nil, nil, nil, nil, nil, nil, nil,
812
+ 2, 52, 16, 20, 34, 59, 60, 64, 15, 76,
813
+ 46, 65, 50, 48, 3, 71, 61, 71, 24, 59,
814
+ 54, 20, 35, 22, 2, 66, 66, 1, 19, 35,
815
+ 35, 35, 72, 72, 44, 19, 4, 5, 2, 2,
816
+ 6, 19, 3, 3, 54, 18, 24, 2, 24, 44,
817
+ 36, 22, 36, 21, 36, 35, 23, 61, 17, 17,
818
+ 50, 17, 13, 13, 13, 26, 27, 76, 32, 76,
819
+ 76, 76, 37, 35, 71, 33, 33, 33, 38, 39,
820
+ 40, 42, 43, 66, 45, 49, 35, 15, 53, 65,
821
+ 2, 56, 24, 24, 24, 57, 58, 63, 67, 77,
822
+ nil, 46, nil, nil, 76, nil, nil, nil, nil, nil,
823
+ nil, nil, nil, 35, nil, nil, nil, nil, nil, nil,
810
824
  nil, nil, nil, 2, nil, nil, nil, nil, nil, nil,
811
825
  nil, nil, nil, nil, nil, nil, 52, nil, nil, 34,
812
- nil, nil, 62, nil, nil, nil, nil, 48, 59, nil,
813
- nil, nil, nil, nil, 2, 2, 2, 2, 48, nil,
814
- nil, nil, nil, 60, 2, 2, 2, nil, 2, 2,
815
- 2, nil, nil, 16, 16, nil, 2, 2, nil, 2,
816
- nil, 60, nil, nil, nil, nil, 59, 59, 59, nil,
817
- nil, nil, 2, 2, 2, nil, nil, nil, 2, nil,
818
- nil, nil, nil, 2, nil, nil, nil, nil, nil, nil,
826
+ nil, nil, 64, nil, nil, nil, nil, nil, 59, nil,
827
+ nil, nil, nil, nil, 2, 2, 2, 2, nil, nil,
828
+ 48, nil, 60, nil, 2, 2, 2, nil, 2, 2,
829
+ 2, 48, 16, 16, nil, nil, 2, 2, nil, 2,
830
+ nil, 60, nil, nil, 2, nil, nil, nil, nil, 59,
831
+ 59, 59, nil, nil, 2, 2, 2, nil, nil, nil,
832
+ 2, nil, nil, nil, nil, 2, nil, nil, nil, nil,
819
833
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
820
- nil, nil, nil, nil, nil, 16, nil, nil, nil, nil,
821
- nil, nil, nil, nil, nil, nil, nil, nil, 59, nil,
822
- nil, nil, nil, nil, nil, 59, 2, nil, nil, 59,
823
- 2, 15, nil, nil, 20, nil, 59, nil, nil, nil,
834
+ nil, nil, nil, nil, 16, nil, nil, nil, nil, nil,
824
835
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
836
+ nil, 59, nil, nil, nil, nil, nil, nil, 59, 2,
837
+ nil, nil, 59, 2, 15, nil, nil, 20, nil, 59,
825
838
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
826
839
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
827
- 20, nil, nil, nil, 52, nil, nil, nil, nil, nil,
828
- nil, 52, 52, 52, 34, 34, 34, nil, nil, nil,
829
840
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
830
- nil, nil, 2, 2, nil, nil, nil, 52, nil, nil,
841
+ nil, nil, nil, 20, nil, nil, nil, 52, nil, nil,
842
+ nil, nil, nil, nil, 52, 52, 52, 34, 34, 34,
831
843
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
832
- nil, nil, nil, nil, nil, 52, 20, 20, 20, nil,
844
+ nil, nil, nil, nil, nil, 2, 2, nil, nil, nil,
845
+ 52, nil, nil, nil, nil, nil, nil, nil, nil, nil,
846
+ nil, nil, nil, nil, nil, nil, nil, nil, 52, 20,
847
+ 20, 20, nil, nil, nil, nil, nil, nil, nil, nil,
848
+ nil, 52, nil, 2, 34, 2, nil, 2, nil, nil,
849
+ nil, nil, nil, nil, nil, nil, nil, 2, nil, nil,
833
850
  nil, nil, nil, nil, nil, nil, nil, nil, 52, nil,
834
- 2, 34, 2, nil, 2, nil, nil, nil, nil, nil,
835
- nil, nil, nil, nil, 2, nil, nil, nil, nil, nil,
836
- nil, nil, nil, nil, nil, 52, nil, nil, nil, nil,
837
- 2, nil, nil, 2, 2 ]
851
+ nil, nil, nil, 2, nil, nil, 2, 2 ]
838
852
 
839
853
  racc_goto_pointer = [
840
- nil, 31, -2, 9, 30, 36, 8, nil, nil, nil,
841
- nil, nil, nil, -139, nil, -26, -42, -192, -198, -209,
842
- -22, -194, -228, -210, -227, nil, -210, -204, nil, nil,
843
- nil, nil, -203, -256, -26, -303, -333, -142, -186, -200,
844
- -244, nil, -291, -306, -374, 46, -16, nil, -47, 32,
845
- -147, nil, -29, -172, -232, nil, -182, -31, -86, -29,
846
- -44, nil, -23, nil, -145, -173, -100, nil, nil, nil,
847
- -180, -142, nil, nil, nil, -133, 65 ]
854
+ nil, 27, -2, 8, 33, 33, 6, nil, nil, nil,
855
+ nil, nil, nil, -112, nil, -26, -46, -188, -214, -234,
856
+ -22, -208, -225, -222, -230, nil, -215, -214, nil, nil,
857
+ nil, nil, -212, -244, -26, -304, -316, -148, -187, -201,
858
+ -245, nil, -293, -308, -369, 48, -18, nil, -36, 34,
859
+ -148, nil, -29, -172, -240, nil, -182, -25, -81, -29,
860
+ -47, -30, nil, 67, -23, -145, -172, -99, nil, nil,
861
+ nil, -181, -167, nil, nil, nil, -134, 68 ]
848
862
 
849
863
  racc_goto_default = [
850
- nil, nil, 44, nil, nil, 411, 299, 107, 108, 109,
851
- 110, 111, 112, nil, 36, 287, 115, nil, nil, nil,
852
- nil, nil, nil, 260, 24, 289, 290, 291, 292, 293,
853
- 294, 295, 298, nil, 144, nil, nil, nil, nil, nil,
854
- nil, 322, nil, nil, nil, nil, nil, 51, nil, nil,
855
- 52, 347, 145, nil, nil, 270, nil, nil, nil, 31,
856
- 7, 29, nil, 88, 158, 146, 147, 148, 149, 150,
857
- 151, 152, 153, 154, 155, nil, nil ]
864
+ nil, nil, 44, nil, nil, 414, 302, 107, 108, 109,
865
+ 110, 111, 112, nil, 36, 290, 115, nil, nil, nil,
866
+ nil, nil, nil, 263, 24, 292, 293, 294, 295, 296,
867
+ 297, 298, 301, nil, 144, nil, nil, nil, nil, nil,
868
+ nil, 325, nil, nil, nil, nil, nil, 51, nil, nil,
869
+ 52, 350, 145, nil, nil, 273, nil, nil, nil, 31,
870
+ 7, nil, 29, nil, nil, 158, 146, 147, 148, 149,
871
+ 150, 151, 152, 153, 154, 155, nil, nil ]
858
872
 
859
873
  racc_reduce_table = [
860
874
  0, 0, :racc_error,
@@ -1036,7 +1050,7 @@ racc_reduce_table = [
1036
1050
  1, 141, :_reduce_176,
1037
1051
  4, 141, :_reduce_177,
1038
1052
  2, 141, :_reduce_178,
1039
- 3, 141, :_reduce_179,
1053
+ 4, 141, :_reduce_179,
1040
1054
  3, 141, :_reduce_180,
1041
1055
  4, 141, :_reduce_181,
1042
1056
  2, 141, :_reduce_182,
@@ -1044,18 +1058,18 @@ racc_reduce_table = [
1044
1058
  1, 141, :_reduce_none,
1045
1059
  1, 101, :_reduce_185,
1046
1060
  3, 101, :_reduce_186,
1047
- 3, 142, :_reduce_187,
1048
- 1, 143, :_reduce_188,
1049
- 3, 143, :_reduce_189,
1050
- 3, 144, :_reduce_190,
1051
- 3, 144, :_reduce_191,
1052
- 3, 144, :_reduce_192,
1053
- 2, 144, :_reduce_193,
1054
- 3, 144, :_reduce_194,
1055
- 3, 144, :_reduce_195,
1056
- 3, 144, :_reduce_196,
1057
- 1, 145, :_reduce_none,
1058
- 2, 145, :_reduce_198,
1061
+ 4, 143, :_reduce_187,
1062
+ 1, 144, :_reduce_188,
1063
+ 3, 144, :_reduce_189,
1064
+ 3, 145, :_reduce_190,
1065
+ 3, 145, :_reduce_191,
1066
+ 3, 145, :_reduce_192,
1067
+ 2, 145, :_reduce_193,
1068
+ 3, 145, :_reduce_194,
1069
+ 3, 145, :_reduce_195,
1070
+ 3, 145, :_reduce_196,
1071
+ 1, 146, :_reduce_none,
1072
+ 2, 146, :_reduce_198,
1059
1073
  1, 115, :_reduce_none,
1060
1074
  1, 115, :_reduce_none,
1061
1075
  1, 115, :_reduce_none,
@@ -1067,46 +1081,48 @@ racc_reduce_table = [
1067
1081
  3, 129, :_reduce_207,
1068
1082
  1, 129, :_reduce_208,
1069
1083
  1, 129, :_reduce_none,
1070
- 3, 147, :_reduce_210,
1071
- 1, 147, :_reduce_211,
1072
- 1, 147, :_reduce_none,
1073
- 3, 149, :_reduce_213,
1074
- 1, 149, :_reduce_214,
1075
- 1, 149, :_reduce_none,
1076
- 3, 151, :_reduce_216,
1077
- 1, 151, :_reduce_217,
1078
- 1, 151, :_reduce_none,
1079
- 0, 152, :_reduce_219,
1080
- 3, 152, :_reduce_220,
1081
- 1, 152, :_reduce_221,
1082
- 3, 152, :_reduce_222,
1083
- 1, 152, :_reduce_223,
1084
- 1, 152, :_reduce_224,
1085
- 2, 146, :_reduce_225,
1086
- 3, 148, :_reduce_226,
1087
- 3, 150, :_reduce_227,
1088
- 3, 153, :_reduce_228,
1089
- 4, 154, :_reduce_229,
1090
- 3, 155, :_reduce_230,
1091
- 0, 156, :_reduce_none,
1092
- 1, 156, :_reduce_none,
1093
- 1, 156, :_reduce_none,
1094
- 1, 156, :_reduce_none,
1095
- 2, 105, :_reduce_235,
1084
+ 3, 148, :_reduce_210,
1085
+ 1, 148, :_reduce_211,
1086
+ 1, 148, :_reduce_none,
1087
+ 3, 150, :_reduce_213,
1088
+ 1, 150, :_reduce_214,
1089
+ 1, 150, :_reduce_none,
1090
+ 3, 152, :_reduce_216,
1091
+ 1, 152, :_reduce_217,
1092
+ 1, 152, :_reduce_none,
1093
+ 0, 153, :_reduce_219,
1094
+ 3, 153, :_reduce_220,
1095
+ 1, 153, :_reduce_221,
1096
+ 3, 153, :_reduce_222,
1097
+ 1, 153, :_reduce_223,
1098
+ 1, 153, :_reduce_224,
1099
+ 2, 147, :_reduce_225,
1100
+ 3, 149, :_reduce_226,
1101
+ 3, 151, :_reduce_227,
1102
+ 3, 154, :_reduce_228,
1103
+ 4, 155, :_reduce_229,
1104
+ 3, 156, :_reduce_230,
1105
+ 0, 157, :_reduce_none,
1096
1106
  1, 157, :_reduce_none,
1097
1107
  1, 157, :_reduce_none,
1098
1108
  1, 157, :_reduce_none,
1109
+ 2, 105, :_reduce_235,
1110
+ 1, 158, :_reduce_none,
1111
+ 1, 158, :_reduce_none,
1112
+ 1, 158, :_reduce_none,
1099
1113
  2, 118, :_reduce_239,
1100
1114
  2, 97, :_reduce_240,
1101
1115
  2, 139, :_reduce_241,
1102
1116
  0, 140, :_reduce_242,
1103
1117
  1, 140, :_reduce_243,
1104
1118
  2, 140, :_reduce_244,
1105
- 1, 140, :_reduce_245 ]
1119
+ 1, 140, :_reduce_245,
1120
+ 1, 142, :_reduce_none,
1121
+ 0, 142, :_reduce_none ]
1106
1122
 
1107
- racc_reduce_n = 246
1123
+ racc_reduce_n = 248
1108
1124
 
1109
- racc_shift_n = 418
1125
+ racc_shift_n = 421
1110
1126
 
1111
1127
  racc_token_table = {
1112
1128
  false => 0,
@@ -1354,6 +1370,7 @@ Racc_token_to_s_table = [
1354
1370
  "type_alias_name",
1355
1371
  "namespace",
1356
1372
  "simple_type",
1373
+ "comma_opt",
1357
1374
  "record_type",
1358
1375
  "record_fields",
1359
1376
  "record_field",
@@ -2702,7 +2719,7 @@ module_eval(<<'.,.,', 'parser.y', 759)
2702
2719
 
2703
2720
  module_eval(<<'.,.,', 'parser.y', 763)
2704
2721
  def _reduce_179(val, _values, result)
2705
- location = val[0].location + val[2].location
2722
+ location = val[0].location + val[3].location
2706
2723
  types = val[1]
2707
2724
  result = Types::Tuple.new(types: types, location: location)
2708
2725
 
@@ -2770,7 +2787,7 @@ module_eval(<<'.,.,', 'parser.y', 797)
2770
2787
  def _reduce_187(val, _values, result)
2771
2788
  result = Types::Record.new(
2772
2789
  fields: val[1],
2773
- location: val[0].location + val[2].location
2790
+ location: val[0].location + val[3].location
2774
2791
  )
2775
2792
 
2776
2793
  result
@@ -3225,6 +3242,10 @@ module_eval(<<'.,.,', 'parser.y', 1061)
3225
3242
  end
3226
3243
  .,.,
3227
3244
 
3245
+ # reduce 246 omitted
3246
+
3247
+ # reduce 247 omitted
3248
+
3228
3249
  def _reduce_none(val, _values, result)
3229
3250
  val[0]
3230
3251
  end