rbs 0.16.0 → 0.17.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -599,10 +599,15 @@ module RBS
599
599
  try_cache(type_name, cache: one_instance_cache) do
600
600
  entry = env.class_decls[type_name]
601
601
 
602
+ param_names = entry.type_params.each.map(&:name)
602
603
  self_type = Types::ClassInstance.new(name: type_name,
603
- args: Types::Variable.build(entry.type_params.each.map(&:name)),
604
+ args: Types::Variable.build(param_names),
604
605
  location: nil)
605
- ancestors = [Definition::Ancestor::Instance.new(name: type_name, args: self_type.args)]
606
+ ancestors = Definition::InstanceAncestors.new(
607
+ type_name: type_name,
608
+ params: param_names,
609
+ ancestors: [Definition::Ancestor::Instance.new(name: type_name, args: self_type.args)]
610
+ )
606
611
 
607
612
  Definition.new(type_name: type_name, entry: entry, self_type: self_type, ancestors: ancestors).tap do |definition|
608
613
  method_definition_members(type_name, entry, kind: :instance).each do |method_name, array|
@@ -618,13 +623,15 @@ module RBS
618
623
  Definition::Method.new(
619
624
  super_method: nil,
620
625
  accessibility: visibility,
621
- defs: method_def.defs.map {|defn| defn.update(implemented_in: type_name) }
626
+ defs: method_def.defs.map {|defn| defn.update(implemented_in: type_name) },
627
+ alias_of: nil
622
628
  )
623
629
  else
624
630
  Definition::Method.new(
625
631
  super_method: nil,
626
632
  accessibility: visibility,
627
- defs: []
633
+ defs: [],
634
+ alias_of: nil
628
635
  )
629
636
  end
630
637
 
@@ -641,7 +648,8 @@ module RBS
641
648
  Definition::Method.new(
642
649
  super_method: nil,
643
650
  defs: defs + original.defs,
644
- accessibility: original.accessibility
651
+ accessibility: original.accessibility,
652
+ alias_of: nil
645
653
  )
646
654
  end
647
655
  end
@@ -676,7 +684,8 @@ module RBS
676
684
  implemented_in: type_name
677
685
  )
678
686
  ],
679
- accessibility: accessibility
687
+ accessibility: accessibility,
688
+ alias_of: nil
680
689
  )
681
690
  end
682
691
 
@@ -698,7 +707,8 @@ module RBS
698
707
  implemented_in: type_name
699
708
  ),
700
709
  ],
701
- accessibility: accessibility
710
+ accessibility: accessibility,
711
+ alias_of: nil
702
712
  )
703
713
  end
704
714
 
@@ -747,7 +757,15 @@ module RBS
747
757
  location: member.location
748
758
  )
749
759
 
750
- definition.methods[member.new_name] = definition.methods[member.old_name]
760
+ original_method = definition.methods[member.old_name]
761
+
762
+ definition.methods[member.new_name] = Definition::Method.new(
763
+ super_method: original_method.super_method,
764
+ defs: original_method.defs,
765
+ accessibility: original_method.accessibility,
766
+ alias_of: original_method,
767
+ annotations: original_method.annotations
768
+ )
751
769
  end
752
770
  end
753
771
  end
@@ -838,7 +856,10 @@ module RBS
838
856
  entry = env.class_decls[type_name]
839
857
 
840
858
  self_type = Types::ClassSingleton.new(name: type_name, location: nil)
841
- ancestors = [Definition::Ancestor::Singleton.new(name: type_name)]
859
+ ancestors = Definition::SingletonAncestors.new(
860
+ type_name: type_name,
861
+ ancestors: [Definition::Ancestor::Singleton.new(name: type_name)]
862
+ )
842
863
 
843
864
  Definition.new(type_name: type_name, entry: entry, self_type: self_type, ancestors: ancestors).tap do |definition|
844
865
  method_definition_members(type_name, entry, kind: :singleton).each do |method_name, array|
@@ -855,7 +876,8 @@ module RBS
855
876
  defs: method_def&.yield_self do |method_def|
856
877
  method_def.defs.map {|defn| defn.update(implemented_in: type_name) }
857
878
  end || [],
858
- accessibility: visibility
879
+ accessibility: visibility,
880
+ alias_of: nil
859
881
  )
860
882
  definition.methods[method_name] = members.inject(m) do |original, new|
861
883
  defs = new.types.map do |type|
@@ -869,7 +891,8 @@ module RBS
869
891
  Definition::Method.new(
870
892
  super_method: nil,
871
893
  defs: defs + original.defs,
872
- accessibility: original.accessibility
894
+ accessibility: original.accessibility,
895
+ alias_of: nil
873
896
  )
874
897
  end
875
898
  end
@@ -893,7 +916,14 @@ module RBS
893
916
  location: member.location
894
917
  )
895
918
 
896
- definition.methods[member.new_name] = definition.methods[member.old_name]
919
+ original_method = definition.methods[member.old_name]
920
+ definition.methods[member.new_name] = Definition::Method.new(
921
+ super_method: original_method.super_method,
922
+ defs: original_method.defs,
923
+ accessibility: original_method.accessibility,
924
+ alias_of: original_method,
925
+ annotations: original_method.annotations
926
+ )
897
927
  end
898
928
  end
899
929
  end
@@ -945,7 +975,8 @@ module RBS
945
975
  )
946
976
  end,
947
977
  accessibility: :public,
948
- annotations: [AST::Annotation.new(location: nil, string: "rbs:test:target")]
978
+ annotations: [AST::Annotation.new(location: nil, string: "rbs:test:target")],
979
+ alias_of: nil
949
980
  )
950
981
  end
951
982
  end
@@ -1029,7 +1060,8 @@ module RBS
1029
1060
  methods[name] = Definition::Method.new(
1030
1061
  super_method: super_method,
1031
1062
  accessibility: method.accessibility,
1032
- defs: sub.mapping.empty? ? defs : defs.map {|defn| defn.update(type: defn.type.sub(sub)) }
1063
+ defs: sub.mapping.empty? ? defs : defs.map {|defn| defn.update(type: defn.type.sub(sub)) },
1064
+ alias_of: nil
1033
1065
  )
1034
1066
  end
1035
1067
 
@@ -1123,7 +1155,8 @@ module RBS
1123
1155
  implemented_in: nil
1124
1156
  )
1125
1157
  end,
1126
- accessibility: :public
1158
+ accessibility: :public,
1159
+ alias_of: nil
1127
1160
  )
1128
1161
  definition.methods[member.name] = method
1129
1162
  end
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # DO NOT MODIFY!!!!
3
- # This file is automatically generated by Racc 1.5.0
3
+ # This file is automatically generated by Racc 1.5.1
4
4
  # from Racc grammar file "".
5
5
  #
6
6
 
@@ -136,14 +136,21 @@ end
136
136
 
137
137
  def new_token(type, value = input.matched)
138
138
  charpos = charpos(input)
139
- start_index = charpos - input.matched.size
140
- end_index = charpos
139
+ matched = input.matched
141
140
 
142
- location = RBS::Location.new(buffer: buffer,
143
- start_pos: start_index,
144
- end_pos: end_index)
141
+ if matched
142
+ start_index = charpos - matched.size
143
+ end_index = charpos
145
144
 
146
- [type, LocatedValue.new(location: location, value: value)]
145
+ location = RBS::Location.new(buffer: buffer,
146
+ start_pos: start_index,
147
+ end_pos: end_index)
148
+
149
+ [type, LocatedValue.new(location: location, value: value)]
150
+ else
151
+ # scanner hasn't matched yet
152
+ [false, nil]
153
+ end
147
154
  end
148
155
 
149
156
  def charpos(scanner)
@@ -262,10 +269,10 @@ def next_token
262
269
  return [:"type_#{type}", nil]
263
270
  end
264
271
 
265
- return if @eof
272
+ return new_token(false, '') if @eof
266
273
 
267
274
  while true
268
- return if input.eos?
275
+ return new_token(false, '') if input.eos?
269
276
 
270
277
  case
271
278
  when input.scan(/\s+/)
@@ -376,118 +383,118 @@ end
376
383
  ##### State transition tables begin ###
377
384
 
378
385
  clist = [
379
- '341,342,33,343,406,76,5,33,33,380,354,37,50,33,33,340,42,379,352,2,3',
380
- '4,209,210,211,212,213,214,215,216,220,33,217,208,218,219,104,115,105',
381
- '106,107,121,33,32,51,336,330,331,32,32,334,332,335,301,32,32,33,333',
382
- '120,108,109,110,112,114,113,329,338,339,111,116,118,196,32,199,87,122',
383
- '123,119,124,341,342,33,343,32,58,59,60,61,279,280,43,33,33,33,340,231',
384
- '50,32,200,88,197,209,210,211,212,213,214,215,216,220,361,217,208,218',
385
- '219,104,115,105,106,107,121,33,32,48,336,330,331,50,51,334,332,335,32',
386
- '32,32,88,333,120,108,109,110,112,114,113,329,338,339,111,116,118,341',
387
- '342,320,343,122,123,119,124,66,51,158,39,32,40,41,340,157,83,324,395',
388
- '89,316,209,210,211,212,213,214,215,216,355,276,217,208,218,219,104,115',
389
- '105,106,107,121,39,88,88,336,330,331,40,41,334,332,335,40,41,144,277',
390
- '333,120,108,109,110,112,114,113,329,338,339,111,116,118,164,397,396',
391
- '145,122,123,119,124,341,342,146,343,147,58,59,60,61,63,64,148,65,272',
392
- '273,340,76,88,88,88,40,41,209,210,211,212,213,214,215,216,220,156,217',
393
- '208,218,219,104,115,105,106,107,121,40,41,159,336,330,331,40,41,334',
394
- '332,335,40,41,387,388,333,120,108,109,110,112,114,113,329,338,339,111',
395
- '116,118,341,342,161,343,122,123,119,124,163,58,59,60,61,40,41,340,55',
396
- '54,56,40,41,41,209,210,211,212,213,214,215,216,220,166,217,208,218,219',
397
- '104,115,105,106,107,121,40,41,158,336,330,331,40,41,334,332,335,40,41',
398
- '40,41,333,120,108,109,110,112,114,113,329,338,339,111,116,118,40,41',
399
- '40,41,122,123,119,124,341,342,-107,343,-108,58,59,60,61,58,59,60,61',
400
- '40,41,340,55,54,56,40,41,-109,209,210,211,212,213,214,215,216,220,-110',
401
- '217,208,218,219,104,115,105,106,107,121,40,41,-111,336,330,331,40,41',
402
- '334,332,335,365,366,40,41,333,120,108,109,110,112,114,113,329,338,339',
403
- '111,116,118,341,342,-112,343,122,123,119,124,40,41,-113,-114,-115,-116',
404
- '-117,340,48,-132,171,172,173,174,209,210,211,212,213,214,215,216,220',
405
- '175,217,208,218,219,104,115,105,106,107,121,176,177,42,336,330,331,201',
406
- '234,334,332,335,235,237,238,239,333,120,108,109,110,112,114,113,329',
407
- '338,339,111,116,118,241,83,245,245,122,123,119,124,341,342,245,343,251',
408
- '58,59,60,61,254,42,257,259,263,265,340,267,268,42,270,307,309,209,210',
409
- '211,212,213,214,215,216,220,263,217,208,218,219,104,115,105,106,107',
410
- '121,311,267,321,336,330,331,322,323,334,332,335,359,364,364,364,333',
411
- '120,108,109,110,112,114,113,329,338,339,111,116,118,371,372,373,374',
412
- '122,123,119,124,33,375,377,58,59,60,61,378,381,382,22,23,21,392,26,-217',
413
- '25,401,30,402,93,94,95,96,97,98,99,100,117,16,101,92,102,103,104,115',
414
- '105,106,107,121,403,32,406,407,408,28,409,139,,140,142,,,,,,120,108',
415
- '109,110,112,114,113,,,,111,116,118,,,,,122,123,119,124,33,,,58,59,60',
416
- '61,,,,22,23,21,,26,,25,,30,,93,94,95,96,97,98,99,100,117,16,101,92,102',
417
- '103,104,115,105,106,107,121,,32,,,,28,,,,,,,,,,,120,108,109,110,112',
418
- '114,113,,,,111,116,118,,,,,122,123,119,124,33,,,58,59,60,61,,,,22,23',
419
- '21,,26,-217,25,,30,,93,94,95,96,97,98,99,100,117,16,101,92,102,103,104',
420
- '115,105,106,107,121,,32,,,,28,,207,,,142,,,,,,120,108,109,110,112,114',
421
- '113,,,,111,116,118,,,,,122,123,119,124,33,,,58,59,60,61,,,,22,23,21',
422
- ',26,-217,25,,30,,93,94,95,96,97,98,99,100,117,16,101,92,102,103,104',
423
- '115,105,106,107,121,,32,,,,28,,207,,,142,,,,,,120,108,109,110,112,114',
386
+ '341,342,33,343,5,58,59,60,61,37,354,380,33,33,33,340,42,50,352,379,40',
387
+ '41,209,210,211,212,213,214,215,216,220,33,217,208,218,219,104,115,105',
388
+ '106,107,121,76,32,196,336,330,331,33,51,334,332,335,32,32,32,33,333',
389
+ '120,108,109,110,112,114,113,329,338,339,111,116,118,43,32,197,48,122',
390
+ '123,119,124,341,342,33,343,66,58,59,60,61,39,32,301,33,33,33,340,231',
391
+ '50,32,40,41,83,209,210,211,212,213,214,215,216,220,33,217,208,218,219',
392
+ '104,115,105,106,107,121,33,32,144,336,330,331,39,51,334,332,335,32,32',
393
+ '32,50,333,120,108,109,110,112,114,113,329,338,339,111,116,118,89,32',
394
+ '87,320,122,123,119,124,341,342,145,343,32,58,59,60,61,51,158,2,3,4,316',
395
+ '340,157,164,199,88,40,41,209,210,211,212,213,214,215,216,220,276,217',
396
+ '208,218,219,104,115,105,106,107,121,88,200,146,336,330,331,324,147,334',
397
+ '332,335,40,41,361,277,333,120,108,109,110,112,114,113,329,338,339,111',
398
+ '116,118,341,342,88,343,122,123,119,124,-4,88,-239,148,33,76,80,340,-239',
399
+ '395,396,397,156,76,209,210,211,212,213,214,215,216,355,159,217,208,218',
400
+ '219,104,115,105,106,107,121,88,88,88,336,330,331,40,41,334,332,335,32',
401
+ '40,41,161,333,120,108,109,110,112,114,113,329,338,339,111,116,118,341',
402
+ '342,163,343,122,123,119,124,41,58,59,60,61,39,166,340,55,54,56,40,41',
403
+ '158,209,210,211,212,213,214,215,216,220,-107,217,208,218,219,104,115',
404
+ '105,106,107,121,40,41,-108,336,330,331,40,41,334,332,335,63,64,-109',
405
+ '65,333,120,108,109,110,112,114,113,329,338,339,111,116,118,341,342,-110',
406
+ '343,122,123,119,124,-111,58,59,60,61,40,41,340,55,54,56,40,41,-112,209',
407
+ '210,211,212,213,214,215,216,220,-113,217,208,218,219,104,115,105,106',
408
+ '107,121,40,41,-114,336,330,331,272,273,334,332,335,279,280,365,366,333',
409
+ '120,108,109,110,112,114,113,329,338,339,111,116,118,40,41,40,41,122',
410
+ '123,119,124,341,342,-115,343,-116,58,59,60,61,40,41,40,41,40,41,340',
411
+ '387,388,40,41,40,41,209,210,211,212,213,214,215,216,220,-117,217,208',
412
+ '218,219,104,115,105,106,107,121,40,41,48,336,330,331,40,41,334,332,335',
413
+ '-132,171,172,173,333,120,108,109,110,112,114,113,329,338,339,111,116',
414
+ '118,341,342,174,343,122,123,119,124,175,176,177,42,201,234,235,340,237',
415
+ '238,239,241,83,245,209,210,211,212,213,214,215,216,220,245,217,208,218',
416
+ '219,104,115,105,106,107,121,245,251,254,336,330,331,42,257,334,332,335',
417
+ '259,263,265,267,333,120,108,109,110,112,114,113,329,338,339,111,116',
418
+ '118,268,42,270,307,122,123,119,124,33,309,263,58,59,60,61,311,267,321',
419
+ '22,23,21,322,26,-217,25,323,30,359,93,94,95,96,97,98,99,100,117,16,101',
420
+ '92,102,103,104,115,105,106,107,121,364,32,364,364,371,28,372,139,373',
421
+ '140,142,374,375,377,378,381,120,108,109,110,112,114,113,382,392,401',
422
+ '111,116,118,402,403,406,407,122,123,119,124,33,408,409,58,59,60,61,406',
423
+ ',,22,23,21,,26,,25,,30,,93,94,95,96,97,98,99,100,117,16,101,92,102,103',
424
+ '104,115,105,106,107,121,,32,,,,28,,,,,,,,,,,120,108,109,110,112,114',
424
425
  '113,,,,111,116,118,,,,,122,123,119,124,33,,,58,59,60,61,,,,22,23,21',
425
426
  ',26,-217,25,,30,,93,94,95,96,97,98,99,100,117,16,101,92,102,103,104',
426
427
  '115,105,106,107,121,,32,,,,28,,139,,140,142,,,,,,120,108,109,110,112',
427
428
  '114,113,,,,111,116,118,,,,,122,123,119,124,33,,,58,59,60,61,,,,22,23',
428
429
  '21,,26,-217,25,,30,,93,94,95,96,97,98,99,100,117,16,101,92,102,103,104',
429
- '115,105,106,107,121,-4,32,-239,,33,28,80,139,-239,140,142,,,76,,,120',
430
- '108,109,110,112,114,113,,,,111,116,118,,,,,122,123,119,124,,,,,,,,,32',
431
- ',,,,,,,,,,168,33,169,,58,59,60,61,,,,22,23,21,,26,-217,25,,30,39,93',
432
- '94,95,96,97,98,99,100,117,16,101,92,102,103,104,115,105,106,107,121',
433
- '168,32,169,40,41,28,,139,,140,142,,,,,,120,108,109,110,112,114,113,',
434
- ',170,111,116,118,58,59,60,61,122,123,119,124,,,,,,,,40,41,209,210,211',
435
- '212,213,214,215,216,220,,217,208,218,219,104,115,105,106,107,121,170',
436
- ',,,,,,207,,,142,,,,,,120,108,109,110,112,114,113,168,,169,111,116,118',
437
- '58,59,60,61,122,123,119,124,,,,,,,,,,209,210,211,212,213,214,215,216',
438
- '220,,217,208,218,219,104,115,105,106,107,121,,40,41,,,,,207,,,142,,',
439
- ',,,120,108,109,110,112,114,113,170,,,111,116,118,58,59,60,61,122,123',
440
- '119,124,,,,,,,,,,209,210,211,212,213,214,215,216,220,,217,208,218,219',
441
- '104,115,105,106,107,121,168,,169,168,152,169,168,155,169,153,,,,,,,120',
442
- '108,109,110,112,114,113,,,,111,116,118,154,,,,122,123,119,124,,,,151',
443
- ',,,40,41,,40,41,,40,41,-239,,33,,80,,-239,,,296,297,76,,,170,,,170,',
444
- ',170,,-239,,33,,80,,-239,,298,296,297,76,,,,,,293,292,,,32,-239,,33',
445
- ',80,,-239,,298,296,297,76,,,,284,,293,292,,,32,-239,,33,,80,,-239,,298',
446
- '296,297,76,,,,312,,293,292,,,32,,,,,,,,,298,,,,,,,360,,293,292,,33,32',
447
- ',,,,,,,,22,23,21,,26,,25,308,30,,8,12,19,20,9,10,13,14,15,16,17,18,11',
448
- '27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15',
449
- '16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9',
450
- '10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8',
451
- '12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26',
452
- ',25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22',
453
- '23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,',
454
- '32,,,,28,22,23,21,,26,,25,45,30,,8,12,19,20,9,10,13,14,15,16,17,18,11',
455
- '27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15',
456
- '16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9',
457
- '10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8',
458
- '12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26',
459
- ',25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22',
460
- '23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,',
461
- '32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11',
462
- '27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15',
463
- '16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9',
464
- '10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8',
465
- '12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26',
466
- ',25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22',
467
- '23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,',
468
- '32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11',
469
- '27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15',
470
- '16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9',
471
- '10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8',
472
- '12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26',
473
- ',25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22',
474
- '23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,',
475
- '32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11',
476
- '27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15',
477
- '16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9',
478
- '10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8',
479
- '12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26',
480
- ',25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22',
481
- '23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,',
482
- '32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11',
483
- '27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15',
484
- '16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9',
485
- '10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8',
486
- '12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26',
487
- ',25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22',
488
- '23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,152,,,155',
489
- ',153,,32,320,,,28,,,,,,,,,,,,,,154,,316,317,313,314,315,,,,318,151' ]
490
- racc_action_table = arr = ::Array.new(2819, nil)
430
+ '115,105,106,107,121,,32,,,,28,,139,,140,142,,,,,,120,108,109,110,112',
431
+ '114,113,,,,111,116,118,,,,,122,123,119,124,33,,,58,59,60,61,,,,22,23',
432
+ '21,,26,-217,25,,30,,93,94,95,96,97,98,99,100,117,16,101,92,102,103,104',
433
+ '115,105,106,107,121,,32,,,,28,,139,,140,142,,,,,,120,108,109,110,112',
434
+ '114,113,,,,111,116,118,,,,,122,123,119,124,33,,,58,59,60,61,,,,22,23',
435
+ '21,,26,-217,25,,30,,93,94,95,96,97,98,99,100,117,16,101,92,102,103,104',
436
+ '115,105,106,107,121,,32,,,,28,,207,,,142,,,,,,120,108,109,110,112,114',
437
+ '113,,,,111,116,118,,,,,122,123,119,124,33,,,58,59,60,61,,,,22,23,21',
438
+ ',26,-217,25,,30,,93,94,95,96,97,98,99,100,117,16,101,92,102,103,104',
439
+ '115,105,106,107,121,168,32,169,,,28,,207,,,142,,,,,,120,108,109,110',
440
+ '112,114,113,168,,169,111,116,118,58,59,60,61,122,123,119,124,,,,,,,',
441
+ '40,41,209,210,211,212,213,214,215,216,220,,217,208,218,219,104,115,105',
442
+ '106,107,121,170,40,41,,,,,207,,,142,,,,,,120,108,109,110,112,114,113',
443
+ '170,,,111,116,118,58,59,60,61,122,123,119,124,,,,,,,,,,209,210,211,212',
444
+ '213,214,215,216,220,,217,208,218,219,104,115,105,106,107,121,168,,169',
445
+ ',,,,207,,,142,,,,,,120,108,109,110,112,114,113,168,,169,111,116,118',
446
+ '58,59,60,61,122,123,119,124,,,,,,,,40,41,209,210,211,212,213,214,215',
447
+ '216,220,,217,208,218,219,104,115,105,106,107,121,170,40,41,168,152,169',
448
+ '168,155,169,153,,,,,,,120,108,109,110,112,114,113,170,,,111,116,118',
449
+ '154,,,,122,123,119,124,,,,151,,,,,,,40,41,,40,41,-239,,33,,80,,-239',
450
+ ',,296,297,76,-239,,33,,80,170,-239,,170,296,297,76,,,,-239,,33,298,80',
451
+ ',-239,,,296,297,76,293,292,,298,32,,,,,,,,293,292,,-239,32,33,298,80',
452
+ '284,-239,,,296,297,76,293,292,,,32,308,,,,,,,,,,,,,298,,312,,,,,,,293',
453
+ '292,,33,32,,,,,,,,,22,23,21,,26,,25,360,30,,8,12,19,20,9,10,13,14,15',
454
+ '16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,45,30,,8,12,19,20',
455
+ '9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30',
456
+ ',8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21',
457
+ ',26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,',
458
+ '28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33',
459
+ ',,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18',
460
+ '11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14',
461
+ '15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20',
462
+ '9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30',
463
+ ',8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21',
464
+ ',26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,',
465
+ '28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33',
466
+ ',,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18',
467
+ '11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14',
468
+ '15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20',
469
+ '9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30',
470
+ ',8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21',
471
+ ',26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,',
472
+ '28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33',
473
+ ',,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18',
474
+ '11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14',
475
+ '15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20',
476
+ '9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30',
477
+ ',8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21',
478
+ ',26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,',
479
+ '28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33',
480
+ ',,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18',
481
+ '11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14',
482
+ '15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20',
483
+ '9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30',
484
+ ',8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21',
485
+ ',26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,',
486
+ '28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33',
487
+ ',,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18',
488
+ '11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14',
489
+ '15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20',
490
+ '9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30',
491
+ ',8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21',
492
+ ',26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,',
493
+ '28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33',
494
+ ',,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18',
495
+ '11,27,152,,,155,,153,,32,320,,,28,,,,,,,,,,,,,,154,,316,317,313,314',
496
+ '315,,,,318,151' ]
497
+ racc_action_table = arr = ::Array.new(2779, nil)
491
498
  idx = 0
492
499
  clist.each do |str|
493
500
  str.split(',', -1).each do |i|
@@ -497,131 +504,129 @@ clist = [
497
504
  end
498
505
 
499
506
  clist = [
500
- '375,375,317,375,409,269,1,259,267,364,319,5,28,265,231,375,7,364,319',
501
- '0,0,0,375,375,375,375,375,375,375,375,375,318,375,375,375,375,375,375',
502
- '375,375,375,375,316,317,28,375,375,375,259,267,375,375,375,269,265,231',
503
- '190,375,375,375,375,375,375,375,375,375,375,375,375,375,375,160,318',
504
- '162,46,375,375,375,375,314,314,188,314,316,314,314,314,314,262,262,24',
505
- '189,187,48,314,189,196,190,162,46,160,314,314,314,314,314,314,314,314',
506
- '314,326,314,314,314,314,314,314,314,314,314,314,155,188,27,314,314,314',
507
- '237,196,314,314,314,189,187,48,326,314,314,314,314,314,314,314,314,314',
508
- '314,314,314,314,314,320,320,306,320,314,314,314,314,32,237,79,35,155',
509
- '6,6,320,79,36,300,383,47,306,320,320,320,320,320,320,320,320,320,260',
510
- '320,320,320,320,320,320,320,320,320,320,6,300,383,320,320,320,47,47',
511
- '320,320,320,252,252,52,260,320,320,320,320,320,320,320,320,320,320,320',
512
- '320,320,320,86,385,384,53,320,320,320,320,386,386,54,386,55,386,386',
513
- '386,386,31,31,56,31,257,257,386,76,86,385,384,149,149,386,386,386,386',
514
- '386,386,386,386,386,78,386,386,386,386,386,386,386,386,386,386,391,391',
515
- '80,386,386,386,393,393,386,386,386,394,394,374,374,386,386,386,386,386',
516
- '386,386,386,386,386,386,386,386,386,408,408,82,408,386,386,386,386,83',
517
- '30,30,30,30,369,369,408,30,30,30,367,367,84,408,408,408,408,408,408',
518
- '408,408,408,90,408,408,408,408,408,408,408,408,408,408,184,184,91,408',
519
- '408,408,185,185,408,408,408,186,186,362,362,408,408,408,408,408,408',
520
- '408,408,408,408,408,408,408,408,165,165,358,358,408,408,408,408,315',
521
- '315,92,315,93,315,315,315,315,145,145,145,145,192,192,315,145,145,145',
522
- '193,193,94,315,315,315,315,315,315,315,315,315,95,315,315,315,315,315',
523
- '315,315,315,315,315,194,194,96,315,315,315,357,357,315,315,315,337,337',
524
- '390,390,315,315,315,315,315,315,315,315,315,315,315,315,315,315,356',
525
- '356,97,356,315,315,315,315,44,44,98,99,100,101,102,356,103,117,127,128',
526
- '129,131,356,356,356,356,356,356,356,356,356,133,356,356,356,356,356',
527
- '356,356,356,356,356,136,137,143,356,356,356,172,191,356,356,356,195',
528
- '197,198,200,356,356,356,356,356,356,356,356,356,356,356,356,356,356',
529
- '205,228,229,230,356,356,356,356,313,313,232,313,233,313,313,313,313',
530
- '236,240,243,244,245,246,313,247,249,253,255,271,275,313,313,313,313',
531
- '313,313,313,313,313,277,313,313,313,313,313,313,313,313,313,313,278',
532
- '282,296,313,313,313,297,298,313,313,313,323,328,346,348,313,313,313',
533
- '313,313,313,313,313,313,313,313,313,313,313,349,350,351,353,313,313',
534
- '313,313,174,355,359,174,174,174,174,363,368,370,174,174,174,380,174',
535
- '174,174,387,174,388,174,174,174,174,174,174,174,174,174,174,174,174',
536
- '174,174,174,174,174,174,174,174,389,174,398,400,403,174,405,174,,174',
537
- '174,,,,,,174,174,174,174,174,174,174,,,,174,174,174,,,,,174,174,174',
538
- '174,139,,,139,139,139,139,,,,139,139,139,,139,,139,,139,,139,139,139',
539
- '139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139',
540
- ',139,,,,139,,,,,,,,,,,139,139,139,139,139,139,139,,,,139,139,139,,,',
541
- ',139,139,139,139,241,,,241,241,241,241,,,,241,241,241,,241,241,241,',
542
- '241,,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241',
543
- '241,241,241,241,,241,,,,241,,241,,,241,,,,,,241,241,241,241,241,241',
544
- '241,,,,241,241,241,,,,,241,241,241,241,175,,,175,175,175,175,,,,175',
507
+ '313,313,48,313,1,313,313,313,313,5,319,364,155,187,188,313,7,28,319',
508
+ '364,44,44,313,313,313,313,313,313,313,313,313,190,313,313,313,313,313',
509
+ '313,313,313,313,313,269,48,160,313,313,313,231,28,313,313,313,155,187',
510
+ '188,259,313,313,313,313,313,313,313,313,313,313,313,313,313,313,24,190',
511
+ '160,27,313,313,313,313,314,314,265,314,32,314,314,314,314,35,231,269',
512
+ '189,267,316,314,189,196,259,6,6,36,314,314,314,314,314,314,314,314,314',
513
+ '317,314,314,314,314,314,314,314,314,314,314,318,265,52,314,314,314,6',
514
+ '196,314,314,314,189,267,316,237,314,314,314,314,314,314,314,314,314',
515
+ '314,314,314,314,314,47,317,46,306,314,314,314,314,315,315,53,315,318',
516
+ '315,315,315,315,237,79,0,0,0,306,315,79,86,162,46,47,47,315,315,315',
517
+ '315,315,315,315,315,315,260,315,315,315,315,315,315,315,315,315,315',
518
+ '86,162,54,315,315,315,300,55,315,315,315,149,149,326,260,315,315,315',
519
+ '315,315,315,315,315,315,315,315,315,315,315,320,320,300,320,315,315',
520
+ '315,315,34,326,34,56,34,76,34,320,34,383,384,385,78,34,320,320,320,320',
521
+ '320,320,320,320,320,80,320,320,320,320,320,320,320,320,320,320,383,384',
522
+ '385,320,320,320,165,165,320,320,320,34,184,184,82,320,320,320,320,320',
523
+ '320,320,320,320,320,320,320,320,320,356,356,83,356,320,320,320,320,84',
524
+ '30,30,30,30,34,90,356,30,30,30,185,185,91,356,356,356,356,356,356,356',
525
+ '356,356,92,356,356,356,356,356,356,356,356,356,356,186,186,93,356,356',
526
+ '356,192,192,356,356,356,31,31,94,31,356,356,356,356,356,356,356,356',
527
+ '356,356,356,356,356,356,375,375,95,375,356,356,356,356,96,145,145,145',
528
+ '145,193,193,375,145,145,145,194,194,97,375,375,375,375,375,375,375,375',
529
+ '375,98,375,375,375,375,375,375,375,375,375,375,252,252,99,375,375,375',
530
+ '257,257,375,375,375,262,262,337,337,375,375,375,375,375,375,375,375',
531
+ '375,375,375,375,375,375,357,357,358,358,375,375,375,375,386,386,100',
532
+ '386,101,386,386,386,386,362,362,367,367,369,369,386,374,374,390,390',
533
+ '391,391,386,386,386,386,386,386,386,386,386,102,386,386,386,386,386',
534
+ '386,386,386,386,386,393,393,103,386,386,386,394,394,386,386,386,117',
535
+ '127,128,129,386,386,386,386,386,386,386,386,386,386,386,386,386,386',
536
+ '408,408,131,408,386,386,386,386,133,136,137,143,172,191,195,408,197',
537
+ '198,200,205,228,229,408,408,408,408,408,408,408,408,408,230,408,408',
538
+ '408,408,408,408,408,408,408,408,232,233,236,408,408,408,240,243,408',
539
+ '408,408,244,245,246,247,408,408,408,408,408,408,408,408,408,408,408',
540
+ '408,408,408,249,253,255,271,408,408,408,408,50,275,277,50,50,50,50,278',
541
+ '282,296,50,50,50,297,50,50,50,298,50,323,50,50,50,50,50,50,50,50,50',
542
+ '50,50,50,50,50,50,50,50,50,50,50,328,50,346,348,349,50,350,50,351,50',
543
+ '50,353,355,359,363,368,50,50,50,50,50,50,50,370,380,387,50,50,50,388',
544
+ '389,398,400,50,50,50,50,139,403,405,139,139,139,139,409,,,139,139,139',
545
+ ',139,,139,,139,,139,139,139,139,139,139,139,139,139,139,139,139,139',
546
+ '139,139,139,139,139,139,139,,139,,,,139,,,,,,,,,,,139,139,139,139,139',
547
+ '139,139,,,,139,139,139,,,,,139,139,139,139,161,,,161,161,161,161,,,',
548
+ '161,161,161,,161,161,161,,161,,161,161,161,161,161,161,161,161,161,161',
549
+ '161,161,161,161,161,161,161,161,161,161,,161,,,,161,,161,,161,161,,',
550
+ ',,,161,161,161,161,161,161,161,,,,161,161,161,,,,,161,161,161,161,173',
551
+ ',,173,173,173,173,,,,173,173,173,,173,173,173,,173,,173,173,173,173',
552
+ '173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,,173',
553
+ ',,,173,,173,,173,173,,,,,,173,173,173,173,173,173,173,,,,173,173,173',
554
+ ',,,,173,173,173,173,174,,,174,174,174,174,,,,174,174,174,,174,174,174',
555
+ ',174,,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174',
556
+ '174,174,174,174,,174,,,,174,,174,,174,174,,,,,,174,174,174,174,174,174',
557
+ '174,,,,174,174,174,,,,,174,174,174,174,175,,,175,175,175,175,,,,175',
545
558
  '175,175,,175,175,175,,175,,175,175,175,175,175,175,175,175,175,175,175',
546
559
  '175,175,175,175,175,175,175,175,175,,175,,,,175,,175,,,175,,,,,,175',
547
- '175,175,175,175,175,175,,,,175,175,175,,,,,175,175,175,175,161,,,161',
548
- '161,161,161,,,,161,161,161,,161,161,161,,161,,161,161,161,161,161,161',
549
- '161,161,161,161,161,161,161,161,161,161,161,161,161,161,,161,,,,161',
550
- ',161,,161,161,,,,,,161,161,161,161,161,161,161,,,,161,161,161,,,,,161',
551
- '161,161,161,173,,,173,173,173,173,,,,173,173,173,,173,173,173,,173,',
552
- '173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173',
553
- '173,173,173,34,173,34,,34,173,34,173,34,173,173,,,34,,,173,173,173,173',
554
- '173,173,173,,,,173,173,173,,,,,173,173,173,173,,,,,,,,,34,,,,,,,,,,',
555
- '180,50,180,,50,50,50,50,,,,50,50,50,,50,50,50,,50,34,50,50,50,50,50',
556
- '50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,181,50,181,180,180,50,',
557
- '50,,50,50,,,,,,50,50,50,50,50,50,50,,,180,50,50,50,177,177,177,177,50',
558
- '50,50,50,,,,,,,,181,181,177,177,177,177,177,177,177,177,177,,177,177',
559
- '177,177,177,177,177,177,177,177,181,,,,,,,177,,,177,,,,,,177,177,177',
560
- '177,177,177,177,224,,224,177,177,177,176,176,176,176,177,177,177,177',
561
- ',,,,,,,,,176,176,176,176,176,176,176,176,176,,176,176,176,176,176,176',
562
- '176,176,176,176,,224,224,,,,,176,,,176,,,,,,176,176,176,176,176,176',
563
- '176,224,,,176,176,176,207,207,207,207,176,176,176,176,,,,,,,,,,207,207',
564
- '207,207,207,207,207,207,207,,207,207,207,207,207,207,207,207,207,207',
565
- '125,,125,178,77,178,182,77,182,77,,,,,,,207,207,207,207,207,207,207',
566
- ',,,207,207,207,77,,,,207,207,207,207,,,,77,,,,125,125,,178,178,,182',
567
- '182,266,,266,,266,,266,,,266,266,266,,,125,,,178,,,182,,281,,281,,281',
568
- ',281,,266,281,281,281,,,,,,266,266,,,266,325,,325,,325,,325,,281,325',
569
- '325,325,,,,266,,281,281,,,281,274,,274,,274,,274,,325,274,274,274,,',
570
- ',281,,325,325,,,325,,,,,,,,,274,,,,,,,325,,274,274,,156,274,,,,,,,,',
571
- '156,156,156,,156,,156,274,156,,156,156,156,156,156,156,156,156,156,156',
572
- '156,156,156,156,,,26,,,,,156,,,,156,26,26,26,,26,,26,,26,,26,26,26,26',
573
- '26,26,26,26,26,26,26,26,26,26,,,40,,,,,26,,,,26,40,40,40,,40,,40,,40',
574
- ',40,40,40,40,40,40,40,40,40,40,40,40,40,40,,,41,,,,,40,,,,40,41,41,41',
575
- ',41,,41,,41,,41,41,41,41,41,41,41,41,41,41,41,41,41,41,,,43,,,,,41,',
576
- ',,41,43,43,43,,43,,43,,43,,43,43,43,43,43,43,43,43,43,43,43,43,43,43',
577
- ',,88,,,,,43,,,,43,88,88,88,,88,,88,,88,,88,88,88,88,88,88,88,88,88,88',
578
- '88,88,88,88,,,25,,,,,88,,,,88,25,25,25,,25,,25,25,25,,25,25,25,25,25',
579
- '25,25,25,25,25,25,25,25,25,,,235,,,,,25,,,,25,235,235,235,,235,,235',
580
- ',235,,235,235,235,235,235,235,235,235,235,235,235,235,235,235,,,268',
581
- ',,,,235,,,,235,268,268,268,,268,,268,,268,,268,268,268,268,268,268,268',
582
- '268,268,268,268,268,268,268,,,140,,,,,268,,,,268,140,140,140,,140,,140',
583
- ',140,,140,140,140,140,140,140,140,140,140,140,140,140,140,140,,,141',
584
- ',,,,140,,,,140,141,141,141,,141,,141,,141,,141,141,141,141,141,141,141',
585
- '141,141,141,141,141,141,141,,,142,,,,,141,,,,141,142,142,142,,142,,142',
586
- ',142,,142,142,142,142,142,142,142,142,142,142,142,142,142,142,,,234',
587
- ',,,,142,,,,142,234,234,234,,234,,234,,234,,234,234,234,234,234,234,234',
588
- '234,234,234,234,234,234,234,,,146,,,,,234,,,,234,146,146,146,,146,,146',
589
- ',146,,146,146,146,146,146,146,146,146,146,146,146,146,146,146,,,147',
590
- ',,,,146,,,,146,147,147,147,,147,,147,,147,,147,147,147,147,147,147,147',
591
- '147,147,147,147,147,147,147,,,57,,,,,147,,,,147,57,57,57,,57,,57,,57',
592
- ',57,57,57,57,57,57,57,57,57,57,57,57,57,57,,,309,,,,,57,,,,57,309,309',
593
- '309,,309,,309,,309,,309,309,309,309,309,309,309,309,309,309,309,309',
594
- '309,309,,,321,,,,,309,,,,309,321,321,321,,321,,321,,321,,321,321,321',
595
- '321,321,321,321,321,321,321,321,321,321,321,,,322,,,,,321,,,,321,322',
596
- '322,322,,322,,322,,322,,322,322,322,322,322,322,322,322,322,322,322',
597
- '322,322,322,,,148,,,,,322,,,,322,148,148,148,,148,,148,,148,,148,148',
598
- '148,148,148,148,148,148,148,148,148,148,148,148,,,327,,,,,148,,,,148',
599
- '327,327,327,,327,,327,,327,,327,327,327,327,327,327,327,327,327,327',
600
- '327,327,327,327,,,201,,,,,327,,,,327,201,201,201,,201,,201,,201,,201',
601
- '201,201,201,201,201,201,201,201,201,201,201,201,201,,,2,,,,,201,,,,201',
602
- '2,2,2,,2,,2,,2,,2,2,2,2,2,2,2,2,2,2,2,2,2,2,,,345,,,,,2,,,,2,345,345',
603
- '345,,345,,345,,345,,345,345,345,345,345,345,345,345,345,345,345,345',
604
- '345,345,,,347,,,,,345,,,,345,347,347,347,,347,,347,,347,,347,347,347',
605
- '347,347,347,347,347,347,347,347,347,347,347,,,157,,,,,347,,,,347,157',
606
- '157,157,,157,,157,,157,,157,157,157,157,157,157,157,157,157,157,157',
607
- '157,157,157,,,159,,,,,157,,,,157,159,159,159,,159,,159,,159,,159,159',
608
- '159,159,159,159,159,159,159,159,159,159,159,159,,,51,,,,,159,,,,159',
609
- '51,51,51,,51,,51,,51,,51,51,51,51,51,51,51,51,51,51,51,51,51,51,,,371',
610
- ',,,,51,,,,51,371,371,371,,371,,371,,371,,371,371,371,371,371,371,371',
611
- '371,371,371,371,371,371,371,,,372,,,,,371,,,,371,372,372,372,,372,,372',
612
- ',372,,372,372,372,372,372,372,372,372,372,372,372,372,372,372,,,373',
613
- ',,,,372,,,,372,373,373,373,,373,,373,,373,,373,373,373,373,373,373,373',
614
- '373,373,373,373,373,373,373,,,377,,,,,373,,,,373,377,377,377,,377,,377',
615
- ',377,,377,377,377,377,377,377,377,377,377,377,377,377,377,377,,,378',
616
- ',,,,377,,,,377,378,378,378,,378,,378,,378,,378,378,378,378,378,378,378',
617
- '378,378,378,378,378,378,378,,,381,,,,,378,,,,378,381,381,381,,381,,381',
618
- ',381,,381,381,381,381,381,381,381,381,381,381,381,381,381,381,,,382',
619
- ',,,,381,,,,381,382,382,382,,382,,382,,382,,382,382,382,382,382,382,382',
620
- '382,382,382,382,382,382,382,,,179,,,,,382,,,,382,179,179,179,,179,,179',
621
- ',179,,179,179,179,179,179,179,179,179,179,179,179,179,179,179,283,,',
622
- '283,,283,,179,283,,,179,,,,,,,,,,,,,,283,,283,283,283,283,283,,,,283',
623
- '283' ]
624
- racc_action_check = arr = ::Array.new(2819, nil)
560
+ '175,175,175,175,175,175,,,,175,175,175,,,,,175,175,175,175,241,,,241',
561
+ '241,241,241,,,,241,241,241,,241,241,241,,241,,241,241,241,241,241,241',
562
+ '241,241,241,241,241,241,241,241,241,241,241,241,241,241,125,241,125',
563
+ ',,241,,241,,,241,,,,,,241,241,241,241,241,241,241,178,,178,241,241,241',
564
+ '176,176,176,176,241,241,241,241,,,,,,,,125,125,176,176,176,176,176,176',
565
+ '176,176,176,,176,176,176,176,176,176,176,176,176,176,125,178,178,,,',
566
+ ',176,,,176,,,,,,176,176,176,176,176,176,176,178,,,176,176,176,177,177',
567
+ '177,177,176,176,176,176,,,,,,,,,,177,177,177,177,177,177,177,177,177',
568
+ ',177,177,177,177,177,177,177,177,177,177,180,,180,,,,,177,,,177,,,,',
569
+ ',177,177,177,177,177,177,177,181,,181,177,177,177,207,207,207,207,177',
570
+ '177,177,177,,,,,,,,180,180,207,207,207,207,207,207,207,207,207,,207',
571
+ '207,207,207,207,207,207,207,207,207,180,181,181,182,77,182,224,77,224',
572
+ '77,,,,,,,207,207,207,207,207,207,207,181,,,207,207,207,77,,,,207,207',
573
+ '207,207,,,,77,,,,,,,182,182,,224,224,266,,266,,266,,266,,,266,266,266',
574
+ '274,,274,,274,182,274,,224,274,274,274,,,,281,,281,266,281,,281,,,281',
575
+ '281,281,266,266,,274,266,,,,,,,,274,274,,325,274,325,281,325,266,325',
576
+ ',,325,325,325,281,281,,,281,274,,,,,,,,,,,,,325,,281,,,,,,,325,325,',
577
+ '2,325,,,,,,,,,2,2,2,,2,,2,325,2,,2,2,2,2,2,2,2,2,2,2,2,2,2,2,,,25,,',
578
+ ',,2,,,,2,25,25,25,,25,,25,25,25,,25,25,25,25,25,25,25,25,25,25,25,25',
579
+ '25,25,,,26,,,,,25,,,,25,26,26,26,,26,,26,,26,,26,26,26,26,26,26,26,26',
580
+ '26,26,26,26,26,26,,,40,,,,,26,,,,26,40,40,40,,40,,40,,40,,40,40,40,40',
581
+ '40,40,40,40,40,40,40,40,40,40,,,41,,,,,40,,,,40,41,41,41,,41,,41,,41',
582
+ ',41,41,41,41,41,41,41,41,41,41,41,41,41,41,,,43,,,,,41,,,,41,43,43,43',
583
+ ',43,,43,,43,,43,43,43,43,43,43,43,43,43,43,43,43,43,43,,,51,,,,,43,',
584
+ ',,43,51,51,51,,51,,51,,51,,51,51,51,51,51,51,51,51,51,51,51,51,51,51',
585
+ ',,57,,,,,51,,,,51,57,57,57,,57,,57,,57,,57,57,57,57,57,57,57,57,57,57',
586
+ '57,57,57,57,,,88,,,,,57,,,,57,88,88,88,,88,,88,,88,,88,88,88,88,88,88',
587
+ '88,88,88,88,88,88,88,88,,,140,,,,,88,,,,88,140,140,140,,140,,140,,140',
588
+ ',140,140,140,140,140,140,140,140,140,140,140,140,140,140,,,141,,,,,140',
589
+ ',,,140,141,141,141,,141,,141,,141,,141,141,141,141,141,141,141,141,141',
590
+ '141,141,141,141,141,,,142,,,,,141,,,,141,142,142,142,,142,,142,,142',
591
+ ',142,142,142,142,142,142,142,142,142,142,142,142,142,142,,,146,,,,,142',
592
+ ',,,142,146,146,146,,146,,146,,146,,146,146,146,146,146,146,146,146,146',
593
+ '146,146,146,146,146,,,147,,,,,146,,,,146,147,147,147,,147,,147,,147',
594
+ ',147,147,147,147,147,147,147,147,147,147,147,147,147,147,,,148,,,,,147',
595
+ ',,,147,148,148,148,,148,,148,,148,,148,148,148,148,148,148,148,148,148',
596
+ '148,148,148,148,148,,,156,,,,,148,,,,148,156,156,156,,156,,156,,156',
597
+ ',156,156,156,156,156,156,156,156,156,156,156,156,156,156,,,157,,,,,156',
598
+ ',,,156,157,157,157,,157,,157,,157,,157,157,157,157,157,157,157,157,157',
599
+ '157,157,157,157,157,,,159,,,,,157,,,,157,159,159,159,,159,,159,,159',
600
+ ',159,159,159,159,159,159,159,159,159,159,159,159,159,159,,,179,,,,,159',
601
+ ',,,159,179,179,179,,179,,179,,179,,179,179,179,179,179,179,179,179,179',
602
+ '179,179,179,179,179,,,201,,,,,179,,,,179,201,201,201,,201,,201,,201',
603
+ ',201,201,201,201,201,201,201,201,201,201,201,201,201,201,,,234,,,,,201',
604
+ ',,,201,234,234,234,,234,,234,,234,,234,234,234,234,234,234,234,234,234',
605
+ '234,234,234,234,234,,,235,,,,,234,,,,234,235,235,235,,235,,235,,235',
606
+ ',235,235,235,235,235,235,235,235,235,235,235,235,235,235,,,268,,,,,235',
607
+ ',,,235,268,268,268,,268,,268,,268,,268,268,268,268,268,268,268,268,268',
608
+ '268,268,268,268,268,,,309,,,,,268,,,,268,309,309,309,,309,,309,,309',
609
+ ',309,309,309,309,309,309,309,309,309,309,309,309,309,309,,,321,,,,,309',
610
+ ',,,309,321,321,321,,321,,321,,321,,321,321,321,321,321,321,321,321,321',
611
+ '321,321,321,321,321,,,322,,,,,321,,,,321,322,322,322,,322,,322,,322',
612
+ ',322,322,322,322,322,322,322,322,322,322,322,322,322,322,,,327,,,,,322',
613
+ ',,,322,327,327,327,,327,,327,,327,,327,327,327,327,327,327,327,327,327',
614
+ '327,327,327,327,327,,,345,,,,,327,,,,327,345,345,345,,345,,345,,345',
615
+ ',345,345,345,345,345,345,345,345,345,345,345,345,345,345,,,347,,,,,345',
616
+ ',,,345,347,347,347,,347,,347,,347,,347,347,347,347,347,347,347,347,347',
617
+ '347,347,347,347,347,,,371,,,,,347,,,,347,371,371,371,,371,,371,,371',
618
+ ',371,371,371,371,371,371,371,371,371,371,371,371,371,371,,,372,,,,,371',
619
+ ',,,371,372,372,372,,372,,372,,372,,372,372,372,372,372,372,372,372,372',
620
+ '372,372,372,372,372,,,373,,,,,372,,,,372,373,373,373,,373,,373,,373',
621
+ ',373,373,373,373,373,373,373,373,373,373,373,373,373,373,,,377,,,,,373',
622
+ ',,,373,377,377,377,,377,,377,,377,,377,377,377,377,377,377,377,377,377',
623
+ '377,377,377,377,377,,,378,,,,,377,,,,377,378,378,378,,378,,378,,378',
624
+ ',378,378,378,378,378,378,378,378,378,378,378,378,378,378,,,381,,,,,378',
625
+ ',,,378,381,381,381,,381,,381,,381,,381,381,381,381,381,381,381,381,381',
626
+ '381,381,381,381,381,,,382,,,,,381,,,,381,382,382,382,,382,,382,,382',
627
+ ',382,382,382,382,382,382,382,382,382,382,382,382,382,382,283,,,283,',
628
+ '283,,382,283,,,382,,,,,,,,,,,,,,283,,283,283,283,283,283,,,,283,283' ]
629
+ racc_action_check = arr = ::Array.new(2779, nil)
625
630
  idx = 0
626
631
  clist.each do |str|
627
632
  str.split(',', -1).each do |i|
@@ -631,47 +636,47 @@ clist = [
631
636
  end
632
637
 
633
638
  racc_action_pointer = [
634
- -54, 6, 2276, nil, nil, 11, 116, -35, nil, nil,
639
+ 96, 4, 1444, nil, nil, 9, 51, -35, nil, nil,
635
640
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
636
- nil, nil, nil, nil, 70, 1700, 1520, 105, -6, nil,
637
- 302, 236, 154, nil, 1033, 85, 147, nil, nil, nil,
638
- 1556, 1592, nil, 1628, 411, nil, 53, 151, 89, nil,
639
- 1086, 2456, 182, 178, 176, 178, 185, 2024, nil, nil,
641
+ nil, nil, nil, nil, 51, 1480, 1516, 56, -1, nil,
642
+ 302, 351, 79, nil, 237, 12, 80, nil, nil, nil,
643
+ 1552, 1588, nil, 1624, -27, nil, 131, 131, -2, nil,
644
+ 596, 1660, 100, 114, 147, 152, 185, 1696, nil, nil,
640
645
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
641
- nil, nil, nil, nil, nil, nil, 232, 1297, 216, 158,
642
- 229, nil, 284, 306, 273, nil, 200, nil, 1664, nil,
643
- 312, 342, 337, 339, 356, 366, 379, 408, 416, 417,
644
- 418, 419, 420, 448, nil, nil, nil, nil, nil, nil,
645
- nil, nil, nil, nil, nil, nil, nil, 423, nil, nil,
646
- nil, nil, nil, nil, nil, 1325, nil, 424, 450, 424,
647
- nil, 425, nil, 435, nil, nil, 446, 447, nil, 681,
648
- 1808, 1844, 1880, 443, nil, 381, 1952, 1988, 2168, 202,
649
- nil, nil, nil, nil, nil, 117, 1484, 2384, nil, 2420,
650
- 49, 912, 52, nil, nil, 324, nil, nil, nil, nil,
651
- nil, nil, 448, 989, 604, 835, 1218, 1152, 1328, 2744,
652
- 1086, 1127, 1331, nil, 295, 301, 306, 88, 77, 87,
653
- 52, 443, 345, 351, 374, 453, 78, 482, 486, nil,
654
- 504, 2240, nil, nil, nil, 475, nil, 1284, nil, nil,
646
+ nil, nil, nil, nil, nil, nil, 229, 1269, 205, 166,
647
+ 216, nil, 267, 300, 260, nil, 154, nil, 1732, nil,
648
+ 295, 319, 287, 300, 311, 329, 335, 348, 358, 371,
649
+ 408, 410, 437, 476, nil, nil, nil, nil, nil, nil,
650
+ nil, nil, nil, nil, nil, nil, nil, 459, nil, nil,
651
+ nil, nil, nil, nil, nil, 1099, nil, 460, 486, 460,
652
+ nil, 477, nil, 483, nil, nil, 484, 485, nil, 673,
653
+ 1768, 1804, 1840, 481, nil, 373, 1876, 1912, 1948, 164,
654
+ nil, nil, nil, nil, nil, 8, 1984, 2020, nil, 2056,
655
+ 22, 750, 155, nil, nil, 230, nil, nil, nil, nil,
656
+ nil, nil, 483, 827, 904, 981, 1124, 1190, 1122, 2092,
657
+ 1231, 1254, 1300, nil, 236, 272, 295, 9, 10, 87,
658
+ 27, 478, 301, 337, 343, 485, 78, 515, 519, nil,
659
+ 537, 2128, nil, nil, nil, 494, nil, 1256, nil, nil,
655
660
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
656
- nil, nil, nil, nil, 1216, nil, nil, nil, 502, 503,
657
- 504, 10, 511, 528, 1916, 1736, 515, 109, nil, nil,
658
- 488, 758, nil, 522, 482, 463, 499, 499, nil, 526,
659
- nil, nil, 156, 496, nil, 525, nil, 240, nil, 3,
660
- 160, nil, 11, nil, nil, 9, 1378, 4, 1772, -8,
661
- nil, 530, nil, nil, 1444, 530, nil, 481, 569, nil,
662
- nil, 1400, 526, 2747, nil, nil, nil, nil, nil, nil,
663
- nil, nil, nil, nil, nil, nil, 529, 533, 521, nil,
664
- 147, nil, nil, nil, nil, nil, 109, nil, nil, 2060,
665
- nil, nil, nil, 527, 77, 377, 38, -2, 27, -62,
666
- 148, 2096, 2132, 571, nil, 1422, 89, 2204, 565, nil,
667
- nil, nil, nil, nil, nil, nil, nil, 381, nil, nil,
668
- nil, nil, nil, nil, nil, 2312, 566, 2348, 567, 580,
669
- 581, 582, nil, 564, nil, 552, 448, 380, 326, 566,
670
- nil, nil, 308, 571, -2, nil, nil, 272, 572, 266,
671
- 573, 2492, 2528, 2564, 252, -2, nil, 2600, 2636, nil,
672
- 602, 2672, 2708, 148, 202, 201, 227, 568, 570, 616,
673
- 387, 224, nil, 230, 235, nil, nil, nil, 592, nil,
674
- 607, nil, nil, 595, nil, 607, nil, nil, 298, -54,
661
+ nil, nil, nil, nil, 1303, nil, nil, nil, 521, 522,
662
+ 532, 44, 543, 559, 2164, 2200, 542, 117, nil, nil,
663
+ 518, 1058, nil, 552, 515, 496, 532, 531, nil, 572,
664
+ nil, nil, 366, 542, nil, 571, nil, 417, nil, 52,
665
+ 168, nil, 347, nil, nil, 77, 1350, 88, 2236, 29,
666
+ nil, 576, nil, nil, 1362, 581, nil, 523, 605, nil,
667
+ nil, 1377, 562, 2707, nil, nil, nil, nil, nil, nil,
668
+ nil, nil, nil, nil, nil, nil, 565, 569, 560, nil,
669
+ 185, nil, nil, nil, nil, nil, 110, nil, nil, 2272,
670
+ nil, nil, nil, -2, 77, 156, 89, 106, 117, -62,
671
+ 227, 2308, 2344, 608, nil, 1404, 192, 2380, 622, nil,
672
+ nil, nil, nil, nil, nil, nil, nil, 375, nil, nil,
673
+ nil, nil, nil, nil, nil, 2416, 624, 2452, 625, 624,
674
+ 626, 628, nil, 612, nil, 595, 298, 395, 397, 609,
675
+ nil, nil, 412, 610, 0, nil, nil, 414, 611, 416,
676
+ 619, 2488, 2524, 2560, 434, 369, nil, 2596, 2632, nil,
677
+ 645, 2668, 2704, 225, 226, 227, 448, 608, 612, 638,
678
+ 421, 423, nil, 445, 451, nil, nil, nil, 613, nil,
679
+ 628, nil, nil, 621, nil, 632, nil, nil, 519, 626,
675
680
  nil, nil ]
676
681
 
677
682
  racc_action_default = [
@@ -720,18 +725,18 @@ racc_action_default = [
720
725
 
721
726
  racc_goto_table = [
722
727
  6, 57, 77, 46, 82, 191, 49, 128, 79, 90,
723
- 143, 52, 167, 247, 179, 203, 62, 206, 344, 344,
724
- 344, 86, 91, 38, 47, 344, 261, 328, 346, 348,
725
- 205, 205, 266, 34, 356, 404, 363, 35, 84, 85,
728
+ 143, 52, 167, 247, 179, 203, 1, 206, 328, 346,
729
+ 348, 86, 91, 38, 47, 356, 261, 344, 344, 344,
730
+ 205, 205, 266, 34, 344, 404, 363, 35, 84, 85,
726
731
  221, 222, 68, 274, 150, 271, 411, 282, 125, 281,
727
732
  258, 67, 81, 264, 368, 149, 370, 299, 310, 244,
728
- 246, 344, 250, 303, 304, 223, 305, 225, 226, 227,
729
- 376, 187, 188, 189, 190, 232, 269, 302, 353, 386,
730
- 344, 249, 179, 256, 398, 160, 165, 195, 260, 389,
731
- 278, 344, 325, 162, 204, 1, nil, 205, nil, nil,
732
- 400, nil, nil, nil, nil, nil, nil, nil, nil, nil,
733
- nil, 242, nil, 344, nil, 249, 57, 249, 198, nil,
734
- nil, nil, 410, nil, nil, nil, 183, nil, nil, nil,
733
+ 246, 376, 250, 303, 304, 223, 305, 225, 226, 227,
734
+ 344, 187, 188, 189, 190, 232, 269, 302, 353, 386,
735
+ 389, 249, 179, 256, 398, 160, 165, 195, 260, 344,
736
+ 278, 400, 325, 162, 204, 62, nil, 205, nil, nil,
737
+ 344, nil, nil, nil, nil, nil, nil, nil, nil, nil,
738
+ nil, 242, nil, 410, nil, 249, 57, 249, 198, nil,
739
+ nil, nil, 344, nil, nil, nil, 183, nil, nil, nil,
735
740
  202, nil, nil, nil, nil, nil, nil, 178, 180, 181,
736
741
  182, nil, nil, nil, 184, 185, 186, nil, 228, 229,
737
742
  230, nil, nil, nil, 192, 193, nil, 194, nil, 125,
@@ -761,18 +766,18 @@ racc_goto_table = [
761
766
 
762
767
  racc_goto_check = [
763
768
  2, 36, 16, 23, 18, 27, 51, 50, 59, 17,
764
- 49, 61, 74, 25, 63, 69, 75, 69, 53, 53,
765
- 53, 23, 59, 3, 2, 53, 55, 37, 37, 37,
766
- 64, 64, 20, 4, 37, 46, 38, 5, 2, 2,
769
+ 49, 61, 74, 25, 63, 69, 1, 69, 37, 37,
770
+ 37, 23, 59, 3, 2, 37, 55, 53, 53, 53,
771
+ 64, 64, 20, 4, 53, 46, 38, 5, 2, 2,
767
772
  70, 70, 6, 20, 16, 19, 46, 25, 2, 20,
768
773
  22, 3, 3, 24, 38, 2, 38, 26, 55, 21,
769
- 21, 53, 21, 29, 30, 74, 35, 74, 74, 74,
770
- 37, 14, 14, 14, 14, 39, 40, 41, 42, 44,
771
- 53, 27, 63, 69, 45, 47, 2, 48, 54, 37,
772
- 57, 53, 20, 58, 65, 1, nil, 64, nil, nil,
773
- 37, nil, nil, nil, nil, nil, nil, nil, nil, nil,
774
- nil, 74, nil, 53, nil, 27, 36, 27, 50, nil,
775
- nil, nil, 37, nil, nil, nil, 61, nil, nil, nil,
774
+ 21, 37, 21, 29, 30, 74, 35, 74, 74, 74,
775
+ 53, 14, 14, 14, 14, 39, 40, 41, 42, 44,
776
+ 37, 27, 63, 69, 45, 47, 2, 48, 54, 53,
777
+ 57, 37, 20, 58, 65, 75, nil, 64, nil, nil,
778
+ 53, nil, nil, nil, nil, nil, nil, nil, nil, nil,
779
+ nil, 74, nil, 37, nil, 27, 36, 27, 50, nil,
780
+ nil, nil, 53, nil, nil, nil, 61, nil, nil, nil,
776
781
  50, nil, nil, nil, nil, nil, nil, 2, 2, 2,
777
782
  2, nil, nil, nil, 2, 2, 2, nil, 17, 17,
778
783
  17, nil, nil, nil, 2, 2, nil, 2, nil, 2,
@@ -801,14 +806,14 @@ racc_goto_check = [
801
806
  2 ]
802
807
 
803
808
  racc_goto_pointer = [
804
- nil, 95, -2, 17, 30, 33, 8, nil, nil, nil,
809
+ nil, 16, -2, 17, 30, 33, 8, nil, nil, nil,
805
810
  nil, nil, nil, nil, -80, nil, -32, -39, -32, -212,
806
811
  -215, -170, -194, -22, -193, -218, -210, -150, nil, -206,
807
- -205, nil, nil, nil, nil, -203, -29, -286, -292, -115,
812
+ -205, nil, nil, nil, nil, -203, -29, -295, -292, -115,
808
813
  -174, -192, -241, nil, -295, -302, -363, 3, -73, -41,
809
- -43, -22, nil, -295, -157, -219, nil, -172, 10, -26,
814
+ -43, -22, nil, -286, -157, -219, nil, -172, 10, -26,
810
815
  nil, -19, nil, -125, -144, -80, nil, nil, nil, -158,
811
- -136, nil, nil, nil, -113, -15 ]
816
+ -136, nil, nil, nil, -113, 64 ]
812
817
 
813
818
  racc_goto_default = [
814
819
  nil, nil, 44, nil, nil, 405, 295, 69, 70, 71,