lrama 0.6.1 → 0.6.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test.yaml +7 -2
  3. data/NEWS.md +9 -0
  4. data/lib/lrama/command.rb +10 -2
  5. data/lib/lrama/context.rb +2 -2
  6. data/lib/lrama/counterexamples/example.rb +2 -2
  7. data/lib/lrama/grammar/code.rb +1 -1
  8. data/lib/lrama/grammar/parameterizing_rule/resolver.rb +17 -9
  9. data/lib/lrama/grammar/rule.rb +2 -2
  10. data/lib/lrama/grammar/rule_builder.rb +31 -36
  11. data/lib/lrama/grammar/stdlib.y +80 -0
  12. data/lib/lrama/grammar.rb +11 -2
  13. data/lib/lrama/lexer.rb +1 -0
  14. data/lib/lrama/parser.rb +474 -451
  15. data/lib/lrama/states/item.rb +17 -13
  16. data/lib/lrama/states_reporter.rb +8 -10
  17. data/lib/lrama/version.rb +1 -1
  18. data/parser.y +4 -5
  19. data/sig/lrama/grammar/parameterizing_rule/resolver.rbs +1 -0
  20. metadata +3 -16
  21. data/lib/lrama/grammar/parameterizing_rules/builder/base.rb +0 -36
  22. data/lib/lrama/grammar/parameterizing_rules/builder/list.rb +0 -28
  23. data/lib/lrama/grammar/parameterizing_rules/builder/nonempty_list.rb +0 -28
  24. data/lib/lrama/grammar/parameterizing_rules/builder/option.rb +0 -28
  25. data/lib/lrama/grammar/parameterizing_rules/builder/separated_list.rb +0 -39
  26. data/lib/lrama/grammar/parameterizing_rules/builder/separated_nonempty_list.rb +0 -34
  27. data/lib/lrama/grammar/parameterizing_rules/builder.rb +0 -60
  28. data/sig/lrama/grammar/parameterizing_rules/builder/base.rbs +0 -28
  29. data/sig/lrama/grammar/parameterizing_rules/builder/list.rbs +0 -10
  30. data/sig/lrama/grammar/parameterizing_rules/builder/nonempty_list.rbs +0 -10
  31. data/sig/lrama/grammar/parameterizing_rules/builder/option.rbs +0 -10
  32. data/sig/lrama/grammar/parameterizing_rules/builder/separated_list.rbs +0 -13
  33. data/sig/lrama/grammar/parameterizing_rules/builder/separated_nonempty_list.rbs +0 -13
  34. data/sig/lrama/grammar/parameterizing_rules/builder.rbs +0 -24
data/lib/lrama/parser.rb CHANGED
@@ -658,7 +658,7 @@ end
658
658
  module Lrama
659
659
  class Parser < Racc::Parser
660
660
 
661
- module_eval(<<'...end parser.y/module_eval...', 'parser.y', 500)
661
+ module_eval(<<'...end parser.y/module_eval...', 'parser.y', 501)
662
662
 
663
663
  include Lrama::Report::Duration
664
664
 
@@ -676,8 +676,6 @@ def parse
676
676
  @precedence_number = 0
677
677
  reset_precs
678
678
  do_parse
679
- @grammar.prepare
680
- @grammar.validate!
681
679
  @grammar
682
680
  end
683
681
  end
@@ -734,138 +732,138 @@ end
734
732
  ##### State transition tables begin ###
735
733
 
736
734
  racc_action_table = [
737
- 85, 44, 86, 145, 144, 67, 44, 44, 145, 188,
738
- 67, 67, 44, 6, 188, 7, 67, 147, 199, 44,
739
- 143, 43, 147, 189, 58, 163, 164, 165, 189, 3,
740
- 44, 40, 43, 8, 67, 63, 34, 44, 148, 43,
741
- 41, 87, 40, 148, 190, 47, 44, 80, 43, 190,
742
- 21, 23, 24, 25, 26, 27, 28, 29, 30, 31,
743
- 47, 21, 23, 24, 25, 26, 27, 28, 29, 30,
744
- 31, 9, 44, 47, 43, 13, 14, 15, 16, 17,
745
- 18, 50, 51, 19, 20, 21, 23, 24, 25, 26,
746
- 27, 28, 29, 30, 31, 32, 44, 44, 43, 43,
747
- 52, 70, 70, 44, 44, 43, 43, 53, 70, 70,
748
- 44, 44, 43, 43, 67, 173, 44, 44, 43, 43,
749
- 67, 173, 44, 44, 43, 43, 67, 173, 44, 44,
750
- 43, 43, 67, 173, 44, 44, 43, 43, 67, 173,
751
- 44, 44, 43, 43, 67, 173, 44, 44, 43, 43,
752
- 67, 67, 44, 44, 43, 43, 67, 67, 44, 44,
753
- 43, 43, 67, 67, 44, 44, 179, 43, 67, 67,
754
- 44, 44, 179, 43, 67, 67, 44, 44, 179, 43,
755
- 67, 163, 164, 165, 83, 44, 141, 43, 142, 192,
756
- 54, 193, 163, 164, 165, 208, 210, 193, 193, 55,
757
- 76, 77, 81, 83, 88, 88, 88, 90, 96, 100,
758
- 101, 104, 104, 104, 104, 107, 110, 111, 113, 115,
759
- 116, 117, 118, 119, 122, 126, 127, 128, 131, 132,
760
- 133, 135, 150, 152, 153, 154, 155, 156, 157, 158,
761
- 131, 160, 168, 169, 178, 183, 184, 186, 191, 178,
762
- 83, 183, 205, 207, 83, 212, 83 ]
735
+ 86, 45, 87, 146, 145, 68, 45, 45, 146, 189,
736
+ 68, 68, 45, 6, 189, 7, 68, 148, 200, 45,
737
+ 144, 44, 148, 190, 59, 164, 165, 166, 190, 3,
738
+ 45, 41, 44, 8, 68, 64, 35, 42, 45, 149,
739
+ 44, 41, 88, 71, 149, 191, 81, 45, 48, 44,
740
+ 191, 22, 24, 25, 26, 27, 28, 29, 30, 31,
741
+ 32, 22, 24, 25, 26, 27, 28, 29, 30, 31,
742
+ 32, 9, 45, 48, 44, 13, 14, 15, 16, 17,
743
+ 18, 48, 51, 19, 20, 21, 22, 24, 25, 26,
744
+ 27, 28, 29, 30, 31, 32, 33, 45, 45, 44,
745
+ 44, 52, 71, 71, 45, 45, 44, 44, 45, 71,
746
+ 44, 53, 68, 174, 45, 45, 44, 44, 68, 174,
747
+ 45, 45, 44, 44, 68, 174, 45, 45, 44, 44,
748
+ 68, 174, 45, 45, 44, 44, 68, 174, 45, 45,
749
+ 44, 44, 68, 174, 45, 45, 44, 44, 68, 68,
750
+ 45, 45, 44, 44, 68, 68, 45, 45, 44, 44,
751
+ 68, 68, 45, 45, 180, 44, 68, 68, 45, 45,
752
+ 180, 44, 68, 68, 45, 45, 180, 44, 68, 164,
753
+ 165, 166, 84, 45, 45, 44, 44, 142, 193, 143,
754
+ 194, 164, 165, 166, 209, 211, 194, 194, 54, 55,
755
+ 56, 77, 78, 82, 84, 89, 89, 89, 91, 97,
756
+ 101, 102, 105, 105, 105, 105, 108, 111, 112, 114,
757
+ 116, 117, 118, 119, 120, 123, 127, 128, 129, 132,
758
+ 133, 134, 136, 151, 153, 154, 155, 156, 157, 158,
759
+ 159, 132, 161, 169, 170, 179, 184, 185, 187, 192,
760
+ 179, 84, 184, 206, 208, 84, 213, 84 ]
763
761
 
764
762
  racc_action_check = [
765
- 42, 130, 42, 130, 129, 130, 159, 177, 159, 177,
766
- 159, 177, 196, 2, 196, 2, 196, 130, 188, 26,
767
- 129, 26, 159, 177, 26, 188, 188, 188, 196, 1,
768
- 27, 9, 27, 3, 27, 27, 7, 14, 130, 14,
769
- 13, 42, 35, 159, 177, 15, 57, 35, 57, 196,
770
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
771
- 16, 35, 35, 35, 35, 35, 35, 35, 35, 35,
772
- 35, 4, 58, 17, 58, 4, 4, 4, 4, 4,
773
- 4, 18, 19, 4, 4, 4, 4, 4, 4, 4,
774
- 4, 4, 4, 4, 4, 4, 28, 29, 28, 29,
775
- 21, 28, 29, 30, 31, 30, 31, 23, 30, 31,
776
- 154, 69, 154, 69, 154, 154, 155, 70, 155, 70,
777
- 155, 155, 156, 96, 156, 96, 156, 156, 170, 98,
778
- 170, 98, 170, 170, 174, 104, 174, 104, 174, 174,
779
- 175, 106, 175, 106, 175, 175, 62, 63, 62, 63,
780
- 62, 63, 101, 103, 101, 103, 101, 103, 123, 148,
781
- 123, 148, 123, 148, 160, 190, 160, 190, 160, 190,
782
- 191, 193, 191, 193, 191, 193, 199, 120, 199, 120,
783
- 199, 146, 146, 146, 146, 124, 125, 124, 125, 180,
784
- 24, 180, 181, 181, 181, 202, 206, 202, 206, 25,
785
- 32, 33, 38, 39, 46, 48, 49, 50, 56, 60,
786
- 61, 68, 73, 74, 75, 76, 82, 83, 89, 91,
787
- 92, 93, 94, 95, 99, 107, 108, 109, 110, 111,
788
- 112, 114, 134, 136, 137, 138, 139, 140, 141, 142,
789
- 143, 145, 149, 151, 157, 162, 166, 176, 179, 186,
790
- 187, 192, 195, 200, 205, 211, 212 ]
763
+ 43, 131, 43, 131, 130, 131, 160, 178, 160, 178,
764
+ 160, 178, 197, 2, 197, 2, 197, 131, 189, 27,
765
+ 130, 27, 160, 178, 27, 189, 189, 189, 197, 1,
766
+ 28, 9, 28, 3, 28, 28, 7, 13, 29, 131,
767
+ 29, 36, 43, 29, 160, 178, 36, 14, 15, 14,
768
+ 197, 9, 9, 9, 9, 9, 9, 9, 9, 9,
769
+ 9, 36, 36, 36, 36, 36, 36, 36, 36, 36,
770
+ 36, 4, 58, 16, 58, 4, 4, 4, 4, 4,
771
+ 4, 17, 18, 4, 4, 4, 4, 4, 4, 4,
772
+ 4, 4, 4, 4, 4, 4, 4, 30, 31, 30,
773
+ 31, 19, 30, 31, 32, 59, 32, 59, 155, 32,
774
+ 155, 22, 155, 155, 156, 70, 156, 70, 156, 156,
775
+ 157, 71, 157, 71, 157, 157, 171, 97, 171, 97,
776
+ 171, 171, 175, 99, 175, 99, 175, 175, 176, 105,
777
+ 176, 105, 176, 176, 63, 64, 63, 64, 63, 64,
778
+ 102, 104, 102, 104, 102, 104, 124, 149, 124, 149,
779
+ 124, 149, 161, 191, 161, 191, 161, 191, 192, 194,
780
+ 192, 194, 192, 194, 200, 107, 200, 107, 200, 147,
781
+ 147, 147, 147, 121, 125, 121, 125, 126, 181, 126,
782
+ 181, 182, 182, 182, 203, 207, 203, 207, 24, 25,
783
+ 26, 33, 34, 39, 40, 47, 49, 50, 51, 57,
784
+ 61, 62, 69, 74, 75, 76, 77, 83, 84, 90,
785
+ 92, 93, 94, 95, 96, 100, 108, 109, 110, 111,
786
+ 112, 113, 115, 135, 137, 138, 139, 140, 141, 142,
787
+ 143, 144, 146, 150, 152, 158, 163, 167, 177, 180,
788
+ 187, 188, 193, 196, 201, 206, 212, 213 ]
791
789
 
792
790
  racc_action_pointer = [
793
791
  nil, 29, 3, 33, 62, nil, nil, 29, nil, 27,
794
- nil, nil, nil, 34, 34, 26, 41, 54, 76, 63,
795
- nil, 81, nil, 88, 171, 180, 16, 27, 93, 94,
796
- 100, 101, 195, 199, nil, 38, nil, nil, 180, 159,
797
- nil, nil, -5, nil, nil, nil, 185, nil, 186, 187,
798
- 188, nil, nil, nil, nil, nil, 200, 43, 69, nil,
799
- 203, 202, 143, 144, nil, nil, nil, nil, 203, 108,
800
- 114, nil, nil, 204, 205, 206, 181, nil, nil, nil,
801
- nil, nil, 180, 212, nil, nil, nil, nil, nil, 216,
802
- nil, 217, 218, 219, 220, 221, 120, nil, 126, 217,
803
- nil, 149, nil, 150, 132, nil, 138, 220, 215, 225,
804
- 189, 184, 228, nil, 229, nil, nil, nil, nil, nil,
805
- 174, nil, nil, 155, 182, 151, nil, nil, nil, -18,
806
- -2, nil, nil, nil, 212, nil, 213, 214, 215, 216,
807
- 217, 202, 234, 201, nil, 207, 140, nil, 156, 222,
808
- nil, 223, nil, nil, 107, 113, 119, 205, nil, 3,
809
- 161, nil, 237, nil, nil, nil, 244, nil, nil, nil,
810
- 125, nil, nil, nil, 131, 137, 209, 4, nil, 214,
811
- 154, 151, nil, nil, nil, nil, 210, 206, -16, nil,
812
- 162, 167, 243, 168, nil, 232, 9, nil, nil, 173,
813
- 251, nil, 160, nil, nil, 210, 161, nil, nil, nil,
814
- nil, 235, 212, nil ]
792
+ nil, nil, nil, 31, 44, 29, 54, 62, 77, 82,
793
+ nil, nil, 92, nil, 179, 180, 181, 16, 27, 35,
794
+ 94, 95, 101, 196, 200, nil, 37, nil, nil, 180,
795
+ 159, nil, nil, -5, nil, nil, nil, 186, nil, 187,
796
+ 188, 189, nil, nil, nil, nil, nil, 201, 69, 102,
797
+ nil, 204, 203, 141, 142, nil, nil, nil, nil, 204,
798
+ 112, 118, nil, nil, 205, 206, 207, 181, nil, nil,
799
+ nil, nil, nil, 180, 213, nil, nil, nil, nil, nil,
800
+ 217, nil, 218, 219, 220, 221, 222, 124, nil, 130,
801
+ 218, nil, 147, nil, 148, 136, nil, 172, 221, 216,
802
+ 226, 189, 184, 229, nil, 230, nil, nil, nil, nil,
803
+ nil, 180, nil, nil, 153, 181, 151, nil, nil, nil,
804
+ -19, -2, nil, nil, nil, 213, nil, 214, 215, 216,
805
+ 217, 218, 202, 235, 201, nil, 207, 137, nil, 154,
806
+ 223, nil, 224, nil, nil, 105, 111, 117, 205, nil,
807
+ 3, 159, nil, 238, nil, nil, nil, 245, nil, nil,
808
+ nil, 123, nil, nil, nil, 129, 135, 209, 4, nil,
809
+ 214, 152, 149, nil, nil, nil, nil, 210, 206, -17,
810
+ nil, 160, 165, 244, 166, nil, 233, 9, nil, nil,
811
+ 171, 252, nil, 158, nil, nil, 210, 159, nil, nil,
812
+ nil, nil, 236, 212, nil ]
815
813
 
816
814
  racc_action_default = [
817
- -2, -130, -8, -130, -130, -3, -4, -130, 214, -130,
818
- -9, -10, -11, -130, -130, -130, -130, -130, -130, -130,
819
- -23, -130, -27, -130, -130, -130, -130, -130, -130, -130,
820
- -130, -130, -130, -130, -7, -115, -88, -90, -130, -112,
821
- -114, -12, -119, -86, -87, -118, -14, -77, -15, -16,
822
- -130, -20, -24, -28, -31, -34, -37, -43, -130, -46,
823
- -63, -38, -67, -130, -70, -72, -73, -127, -39, -80,
824
- -130, -83, -85, -40, -41, -42, -130, -5, -1, -89,
825
- -116, -91, -130, -130, -13, -120, -121, -122, -74, -130,
826
- -17, -130, -130, -130, -130, -130, -130, -47, -44, -65,
827
- -64, -130, -71, -68, -130, -84, -81, -130, -130, -130,
828
- -96, -130, -130, -78, -130, -21, -25, -29, -32, -35,
829
- -45, -48, -66, -69, -82, -130, -50, -6, -117, -92,
830
- -93, -97, -113, -75, -130, -18, -130, -130, -130, -130,
831
- -130, -130, -130, -96, -95, -86, -112, -101, -130, -130,
832
- -79, -130, -22, -26, -130, -130, -130, -54, -51, -94,
833
- -130, -98, -128, -105, -106, -107, -130, -104, -76, -19,
834
- -30, -123, -125, -126, -33, -36, -49, -52, -55, -86,
835
- -130, -108, -99, -129, -102, -124, -54, -112, -86, -59,
836
- -130, -130, -128, -130, -110, -130, -53, -56, -57, -130,
837
- -130, -62, -130, -100, -109, -112, -130, -60, -111, -103,
838
- -58, -130, -112, -61 ]
815
+ -2, -131, -8, -131, -131, -3, -4, -131, 215, -131,
816
+ -9, -10, -11, -131, -131, -131, -131, -131, -131, -131,
817
+ -23, -24, -131, -28, -131, -131, -131, -131, -131, -131,
818
+ -131, -131, -131, -131, -131, -7, -116, -89, -91, -131,
819
+ -113, -115, -12, -120, -87, -88, -119, -14, -78, -15,
820
+ -16, -131, -20, -25, -29, -32, -35, -38, -44, -131,
821
+ -47, -64, -39, -68, -131, -71, -73, -74, -128, -40,
822
+ -81, -131, -84, -86, -41, -42, -43, -131, -5, -1,
823
+ -90, -117, -92, -131, -131, -13, -121, -122, -123, -75,
824
+ -131, -17, -131, -131, -131, -131, -131, -131, -48, -45,
825
+ -66, -65, -131, -72, -69, -131, -85, -82, -131, -131,
826
+ -131, -97, -131, -131, -79, -131, -21, -26, -30, -33,
827
+ -36, -46, -49, -67, -70, -83, -131, -51, -6, -118,
828
+ -93, -94, -98, -114, -76, -131, -18, -131, -131, -131,
829
+ -131, -131, -131, -131, -97, -96, -87, -113, -102, -131,
830
+ -131, -80, -131, -22, -27, -131, -131, -131, -55, -52,
831
+ -95, -131, -99, -129, -106, -107, -108, -131, -105, -77,
832
+ -19, -31, -124, -126, -127, -34, -37, -50, -53, -56,
833
+ -87, -131, -109, -100, -130, -103, -125, -55, -113, -87,
834
+ -60, -131, -131, -129, -131, -111, -131, -54, -57, -58,
835
+ -131, -131, -63, -131, -101, -110, -113, -131, -61, -112,
836
+ -104, -59, -131, -113, -62 ]
839
837
 
840
838
  racc_goto_table = [
841
- 82, 62, 57, 45, 97, 64, 105, 162, 182, 36,
842
- 177, 1, 2, 180, 106, 60, 4, 72, 72, 72,
843
- 72, 130, 185, 46, 48, 49, 185, 185, 68, 73,
844
- 74, 75, 35, 78, 98, 79, 5, 103, 203, 196,
845
- 102, 64, 194, 105, 202, 97, 60, 60, 124, 198,
846
- 33, 108, 206, 10, 159, 170, 174, 175, 72, 72,
847
- 11, 105, 12, 42, 84, 114, 151, 97, 91, 136,
848
- 92, 137, 120, 93, 138, 123, 94, 139, 95, 64,
849
- 140, 102, 56, 61, 99, 60, 121, 60, 125, 176,
850
- 200, 211, 112, 72, 149, 72, 89, 134, 129, 166,
851
- 195, 102, 109, nil, nil, nil, nil, 161, 146, 60,
852
- nil, nil, nil, 72, nil, nil, nil, nil, nil, nil,
853
- nil, nil, nil, nil, nil, nil, 167, nil, nil, nil,
854
- nil, nil, nil, nil, nil, nil, nil, 146, 181, nil,
855
- nil, nil, nil, nil, nil, nil, nil, nil, 197, nil,
856
- nil, nil, nil, nil, nil, 187, nil, nil, nil, nil,
857
- nil, nil, nil, nil, nil, nil, 209, nil, 201, 181,
858
- nil, 204, nil, 213, 187, nil, nil, 181 ]
839
+ 83, 63, 46, 58, 98, 65, 106, 163, 183, 37,
840
+ 178, 1, 2, 181, 107, 61, 4, 73, 73, 73,
841
+ 73, 131, 186, 47, 49, 50, 186, 186, 69, 74,
842
+ 75, 76, 171, 175, 176, 99, 80, 104, 204, 197,
843
+ 103, 65, 195, 106, 203, 98, 61, 61, 125, 199,
844
+ 36, 79, 207, 5, 160, 34, 109, 10, 73, 73,
845
+ 11, 106, 12, 43, 85, 115, 152, 98, 92, 137,
846
+ 93, 138, 94, 121, 139, 124, 95, 140, 96, 65,
847
+ 141, 103, 57, 62, 100, 61, 122, 61, 126, 177,
848
+ 201, 212, 113, 73, 150, 73, 90, 135, 130, 167,
849
+ 196, 103, 110, nil, nil, nil, nil, 162, 147, 61,
850
+ nil, nil, nil, 73, nil, nil, nil, nil, nil, nil,
851
+ nil, nil, nil, nil, nil, nil, 168, nil, nil, nil,
852
+ nil, nil, nil, nil, nil, nil, nil, 147, 182, nil,
853
+ nil, nil, nil, nil, nil, nil, nil, nil, 198, nil,
854
+ nil, nil, nil, nil, nil, 188, nil, nil, nil, nil,
855
+ nil, nil, nil, nil, nil, nil, 210, nil, 202, 182,
856
+ nil, 205, nil, 214, 188, nil, nil, 182 ]
859
857
 
860
858
  racc_goto_check = [
861
- 41, 46, 32, 34, 33, 40, 53, 42, 59, 54,
859
+ 41, 46, 34, 32, 33, 40, 53, 42, 59, 54,
862
860
  39, 1, 2, 43, 52, 34, 3, 34, 34, 34,
863
861
  34, 58, 63, 14, 14, 14, 63, 63, 31, 31,
864
- 31, 31, 4, 5, 32, 54, 6, 46, 59, 39,
862
+ 31, 31, 20, 20, 20, 32, 54, 46, 59, 39,
865
863
  40, 40, 42, 53, 43, 33, 34, 34, 52, 42,
866
- 7, 8, 43, 9, 58, 20, 20, 20, 34, 34,
864
+ 4, 5, 43, 6, 58, 7, 8, 9, 34, 34,
867
865
  10, 53, 11, 12, 13, 15, 16, 33, 17, 18,
868
- 21, 22, 32, 23, 24, 46, 25, 26, 27, 40,
866
+ 21, 22, 23, 32, 24, 46, 25, 26, 27, 40,
869
867
  28, 40, 29, 30, 35, 34, 36, 34, 37, 38,
870
868
  44, 45, 48, 34, 49, 34, 50, 51, 57, 60,
871
869
  61, 40, 62, nil, nil, nil, nil, 41, 40, 34,
@@ -878,158 +876,159 @@ racc_goto_check = [
878
876
  nil, 40, nil, 41, 40, nil, nil, 40 ]
879
877
 
880
878
  racc_goto_pointer = [
881
- nil, 11, 12, 14, 23, -2, 34, 44, -26, 49,
882
- 56, 58, 49, 22, 8, -25, -69, 17, -46, nil,
883
- -99, 18, -45, 20, -43, 22, -41, 23, -39, 56,
884
- 56, 0, -24, -53, -11, 24, -13, -19, -68, -147,
885
- -22, -39, -139, -147, -99, -116, -26, nil, 4, -39,
886
- 49, -16, -56, -63, 0, nil, nil, -12, -89, -154,
887
- -48, -84, 22, -148 ]
879
+ nil, 11, 12, 14, 41, 15, 51, 49, -22, 53,
880
+ 56, 58, 49, 21, 8, -26, -70, 16, -47, nil,
881
+ -123, 17, -46, 18, -44, 21, -42, 22, -40, 55,
882
+ 55, -1, -24, -54, -12, 23, -14, -20, -69, -148,
883
+ -23, -40, -140, -148, -100, -117, -27, nil, 3, -40,
884
+ 48, -17, -57, -64, 0, nil, nil, -13, -90, -155,
885
+ -49, -85, 21, -149 ]
888
886
 
889
887
  racc_goto_default = [
890
888
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
891
- 38, nil, nil, nil, nil, nil, nil, nil, nil, 22,
889
+ 39, nil, nil, nil, nil, nil, nil, nil, nil, 23,
892
890
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
893
- nil, nil, nil, 59, 65, nil, nil, nil, nil, nil,
894
- 172, nil, nil, nil, nil, nil, nil, 66, nil, nil,
895
- nil, nil, 69, 71, nil, 37, 39, nil, nil, nil,
896
- nil, nil, nil, 171 ]
891
+ nil, nil, nil, 60, 66, nil, nil, nil, nil, nil,
892
+ 173, nil, nil, nil, nil, nil, nil, 67, nil, nil,
893
+ nil, nil, 70, 72, nil, 38, 40, nil, nil, nil,
894
+ nil, nil, nil, 172 ]
897
895
 
898
896
  racc_reduce_table = [
899
897
  0, 0, :racc_error,
900
- 5, 48, :_reduce_none,
901
- 0, 49, :_reduce_none,
902
- 2, 49, :_reduce_none,
903
- 0, 54, :_reduce_4,
904
- 0, 55, :_reduce_5,
905
- 5, 53, :_reduce_6,
906
- 2, 53, :_reduce_none,
907
- 0, 50, :_reduce_8,
898
+ 5, 49, :_reduce_none,
899
+ 0, 50, :_reduce_none,
908
900
  2, 50, :_reduce_none,
909
- 1, 56, :_reduce_none,
910
- 1, 56, :_reduce_none,
911
- 2, 56, :_reduce_12,
912
- 3, 56, :_reduce_none,
913
- 2, 56, :_reduce_none,
914
- 2, 56, :_reduce_15,
915
- 2, 56, :_reduce_16,
916
- 0, 62, :_reduce_17,
917
- 0, 63, :_reduce_18,
918
- 7, 56, :_reduce_19,
919
- 0, 64, :_reduce_20,
920
- 0, 65, :_reduce_21,
921
- 6, 56, :_reduce_22,
922
- 1, 56, :_reduce_none,
923
- 0, 68, :_reduce_24,
924
- 0, 69, :_reduce_25,
925
- 6, 57, :_reduce_26,
901
+ 0, 55, :_reduce_4,
902
+ 0, 56, :_reduce_5,
903
+ 5, 54, :_reduce_6,
904
+ 2, 54, :_reduce_none,
905
+ 0, 51, :_reduce_8,
906
+ 2, 51, :_reduce_none,
907
+ 1, 57, :_reduce_none,
926
908
  1, 57, :_reduce_none,
927
- 0, 70, :_reduce_28,
909
+ 2, 57, :_reduce_12,
910
+ 3, 57, :_reduce_none,
911
+ 2, 57, :_reduce_none,
912
+ 2, 57, :_reduce_15,
913
+ 2, 57, :_reduce_16,
914
+ 0, 63, :_reduce_17,
915
+ 0, 64, :_reduce_18,
916
+ 7, 57, :_reduce_19,
917
+ 0, 65, :_reduce_20,
918
+ 0, 66, :_reduce_21,
919
+ 6, 57, :_reduce_22,
920
+ 1, 57, :_reduce_23,
921
+ 1, 57, :_reduce_none,
922
+ 0, 69, :_reduce_25,
923
+ 0, 70, :_reduce_26,
924
+ 6, 58, :_reduce_27,
925
+ 1, 58, :_reduce_none,
928
926
  0, 71, :_reduce_29,
929
- 7, 57, :_reduce_none,
930
- 0, 72, :_reduce_31,
927
+ 0, 72, :_reduce_30,
928
+ 7, 58, :_reduce_none,
931
929
  0, 73, :_reduce_32,
932
- 7, 57, :_reduce_33,
933
- 0, 74, :_reduce_34,
930
+ 0, 74, :_reduce_33,
931
+ 7, 58, :_reduce_34,
934
932
  0, 75, :_reduce_35,
935
- 7, 57, :_reduce_36,
936
- 2, 66, :_reduce_none,
937
- 2, 66, :_reduce_38,
938
- 2, 66, :_reduce_39,
939
- 2, 66, :_reduce_40,
940
- 2, 66, :_reduce_41,
941
- 2, 66, :_reduce_42,
942
- 1, 76, :_reduce_43,
943
- 2, 76, :_reduce_44,
944
- 3, 76, :_reduce_45,
945
- 1, 79, :_reduce_46,
946
- 2, 79, :_reduce_47,
947
- 3, 80, :_reduce_48,
948
- 7, 58, :_reduce_49,
949
- 1, 84, :_reduce_50,
950
- 3, 84, :_reduce_51,
951
- 1, 85, :_reduce_52,
952
- 3, 85, :_reduce_53,
953
- 0, 86, :_reduce_54,
954
- 1, 86, :_reduce_55,
955
- 3, 86, :_reduce_56,
956
- 3, 86, :_reduce_57,
957
- 5, 86, :_reduce_58,
958
- 0, 91, :_reduce_59,
933
+ 0, 76, :_reduce_36,
934
+ 7, 58, :_reduce_37,
935
+ 2, 67, :_reduce_none,
936
+ 2, 67, :_reduce_39,
937
+ 2, 67, :_reduce_40,
938
+ 2, 67, :_reduce_41,
939
+ 2, 67, :_reduce_42,
940
+ 2, 67, :_reduce_43,
941
+ 1, 77, :_reduce_44,
942
+ 2, 77, :_reduce_45,
943
+ 3, 77, :_reduce_46,
944
+ 1, 80, :_reduce_47,
945
+ 2, 80, :_reduce_48,
946
+ 3, 81, :_reduce_49,
947
+ 7, 59, :_reduce_50,
948
+ 1, 85, :_reduce_51,
949
+ 3, 85, :_reduce_52,
950
+ 1, 86, :_reduce_53,
951
+ 3, 86, :_reduce_54,
952
+ 0, 87, :_reduce_55,
953
+ 1, 87, :_reduce_56,
954
+ 3, 87, :_reduce_57,
955
+ 3, 87, :_reduce_58,
956
+ 5, 87, :_reduce_59,
959
957
  0, 92, :_reduce_60,
960
- 7, 86, :_reduce_61,
961
- 3, 86, :_reduce_62,
962
- 0, 82, :_reduce_none,
963
- 1, 82, :_reduce_none,
958
+ 0, 93, :_reduce_61,
959
+ 7, 87, :_reduce_62,
960
+ 3, 87, :_reduce_63,
964
961
  0, 83, :_reduce_none,
965
962
  1, 83, :_reduce_none,
966
- 1, 77, :_reduce_67,
967
- 2, 77, :_reduce_68,
968
- 3, 77, :_reduce_69,
969
- 1, 93, :_reduce_70,
970
- 2, 93, :_reduce_71,
971
- 1, 87, :_reduce_none,
972
- 1, 87, :_reduce_none,
973
- 0, 95, :_reduce_74,
963
+ 0, 84, :_reduce_none,
964
+ 1, 84, :_reduce_none,
965
+ 1, 78, :_reduce_68,
966
+ 2, 78, :_reduce_69,
967
+ 3, 78, :_reduce_70,
968
+ 1, 94, :_reduce_71,
969
+ 2, 94, :_reduce_72,
970
+ 1, 88, :_reduce_none,
971
+ 1, 88, :_reduce_none,
974
972
  0, 96, :_reduce_75,
975
- 6, 61, :_reduce_76,
976
- 0, 97, :_reduce_77,
973
+ 0, 97, :_reduce_76,
974
+ 6, 62, :_reduce_77,
977
975
  0, 98, :_reduce_78,
978
- 5, 61, :_reduce_79,
979
- 1, 78, :_reduce_80,
980
- 2, 78, :_reduce_81,
981
- 3, 78, :_reduce_82,
982
- 1, 99, :_reduce_83,
983
- 2, 99, :_reduce_84,
984
- 1, 100, :_reduce_none,
985
- 1, 81, :_reduce_86,
986
- 1, 81, :_reduce_87,
987
- 1, 51, :_reduce_none,
988
- 2, 51, :_reduce_none,
976
+ 0, 99, :_reduce_79,
977
+ 5, 62, :_reduce_80,
978
+ 1, 79, :_reduce_81,
979
+ 2, 79, :_reduce_82,
980
+ 3, 79, :_reduce_83,
981
+ 1, 100, :_reduce_84,
982
+ 2, 100, :_reduce_85,
989
983
  1, 101, :_reduce_none,
990
- 2, 101, :_reduce_none,
991
- 4, 102, :_reduce_92,
992
- 1, 104, :_reduce_93,
993
- 3, 104, :_reduce_94,
994
- 2, 104, :_reduce_none,
995
- 0, 105, :_reduce_96,
996
- 1, 105, :_reduce_97,
997
- 3, 105, :_reduce_98,
998
- 4, 105, :_reduce_99,
999
- 6, 105, :_reduce_100,
1000
- 0, 107, :_reduce_101,
984
+ 1, 82, :_reduce_87,
985
+ 1, 82, :_reduce_88,
986
+ 1, 52, :_reduce_none,
987
+ 2, 52, :_reduce_none,
988
+ 1, 102, :_reduce_none,
989
+ 2, 102, :_reduce_none,
990
+ 4, 103, :_reduce_93,
991
+ 1, 105, :_reduce_94,
992
+ 3, 105, :_reduce_95,
993
+ 2, 105, :_reduce_none,
994
+ 0, 106, :_reduce_97,
995
+ 1, 106, :_reduce_98,
996
+ 3, 106, :_reduce_99,
997
+ 4, 106, :_reduce_100,
998
+ 6, 106, :_reduce_101,
1001
999
  0, 108, :_reduce_102,
1002
- 7, 105, :_reduce_103,
1003
- 3, 105, :_reduce_104,
1004
- 1, 89, :_reduce_none,
1005
- 1, 89, :_reduce_none,
1006
- 1, 89, :_reduce_none,
1000
+ 0, 109, :_reduce_103,
1001
+ 7, 106, :_reduce_104,
1002
+ 3, 106, :_reduce_105,
1003
+ 1, 90, :_reduce_106,
1004
+ 1, 90, :_reduce_107,
1007
1005
  1, 90, :_reduce_108,
1008
- 3, 90, :_reduce_109,
1009
- 2, 90, :_reduce_110,
1010
- 4, 90, :_reduce_111,
1011
- 0, 88, :_reduce_none,
1012
- 3, 88, :_reduce_113,
1013
- 1, 103, :_reduce_none,
1014
- 0, 52, :_reduce_none,
1015
- 0, 109, :_reduce_116,
1016
- 3, 52, :_reduce_117,
1017
- 1, 59, :_reduce_none,
1018
- 0, 60, :_reduce_none,
1006
+ 1, 91, :_reduce_109,
1007
+ 3, 91, :_reduce_110,
1008
+ 2, 91, :_reduce_111,
1009
+ 4, 91, :_reduce_112,
1010
+ 0, 89, :_reduce_none,
1011
+ 3, 89, :_reduce_114,
1012
+ 1, 104, :_reduce_none,
1013
+ 0, 53, :_reduce_none,
1014
+ 0, 110, :_reduce_117,
1015
+ 3, 53, :_reduce_118,
1019
1016
  1, 60, :_reduce_none,
1020
- 1, 60, :_reduce_none,
1021
- 1, 60, :_reduce_none,
1022
- 1, 67, :_reduce_123,
1023
- 2, 67, :_reduce_124,
1024
- 1, 110, :_reduce_none,
1025
- 1, 110, :_reduce_none,
1026
- 1, 94, :_reduce_127,
1027
- 0, 106, :_reduce_none,
1028
- 1, 106, :_reduce_none ]
1029
-
1030
- racc_reduce_n = 130
1031
-
1032
- racc_shift_n = 214
1017
+ 0, 61, :_reduce_none,
1018
+ 1, 61, :_reduce_none,
1019
+ 1, 61, :_reduce_none,
1020
+ 1, 61, :_reduce_none,
1021
+ 1, 68, :_reduce_124,
1022
+ 2, 68, :_reduce_125,
1023
+ 1, 111, :_reduce_none,
1024
+ 1, 111, :_reduce_none,
1025
+ 1, 95, :_reduce_128,
1026
+ 0, 107, :_reduce_none,
1027
+ 1, 107, :_reduce_none ]
1028
+
1029
+ racc_reduce_n = 131
1030
+
1031
+ racc_shift_n = 215
1033
1032
 
1034
1033
  racc_token_table = {
1035
1034
  false => 0,
@@ -1054,33 +1053,34 @@ racc_token_table = {
1054
1053
  "{" => 19,
1055
1054
  "}" => 20,
1056
1055
  "%initial-action" => 21,
1057
- ";" => 22,
1058
- "%union" => 23,
1059
- "%destructor" => 24,
1060
- "%printer" => 25,
1061
- "%error-token" => 26,
1062
- "%token" => 27,
1063
- "%type" => 28,
1064
- "%left" => 29,
1065
- "%right" => 30,
1066
- "%precedence" => 31,
1067
- "%nonassoc" => 32,
1068
- "%rule" => 33,
1069
- "(" => 34,
1070
- ")" => 35,
1071
- ":" => 36,
1072
- "," => 37,
1073
- "|" => 38,
1074
- "%empty" => 39,
1075
- "%prec" => 40,
1076
- "?" => 41,
1077
- "+" => 42,
1078
- "*" => 43,
1079
- "[" => 44,
1080
- "]" => 45,
1081
- "{...}" => 46 }
1082
-
1083
- racc_nt_base = 47
1056
+ "%no-stdlib" => 22,
1057
+ ";" => 23,
1058
+ "%union" => 24,
1059
+ "%destructor" => 25,
1060
+ "%printer" => 26,
1061
+ "%error-token" => 27,
1062
+ "%token" => 28,
1063
+ "%type" => 29,
1064
+ "%left" => 30,
1065
+ "%right" => 31,
1066
+ "%precedence" => 32,
1067
+ "%nonassoc" => 33,
1068
+ "%rule" => 34,
1069
+ "(" => 35,
1070
+ ")" => 36,
1071
+ ":" => 37,
1072
+ "," => 38,
1073
+ "|" => 39,
1074
+ "%empty" => 40,
1075
+ "%prec" => 41,
1076
+ "?" => 42,
1077
+ "+" => 43,
1078
+ "*" => 44,
1079
+ "[" => 45,
1080
+ "]" => 46,
1081
+ "{...}" => 47 }
1082
+
1083
+ racc_nt_base = 48
1084
1084
 
1085
1085
  racc_use_result_var = true
1086
1086
 
@@ -1124,6 +1124,7 @@ Racc_token_to_s_table = [
1124
1124
  "\"{\"",
1125
1125
  "\"}\"",
1126
1126
  "\"%initial-action\"",
1127
+ "\"%no-stdlib\"",
1127
1128
  "\";\"",
1128
1129
  "\"%union\"",
1129
1130
  "\"%destructor\"",
@@ -1346,26 +1347,33 @@ module_eval(<<'.,.,', 'parser.y', 69)
1346
1347
  end
1347
1348
  .,.,
1348
1349
 
1349
- # reduce 23 omitted
1350
+ module_eval(<<'.,.,', 'parser.y', 71)
1351
+ def _reduce_23(val, _values, result)
1352
+ @grammar.no_stdlib = true
1353
+ result
1354
+ end
1355
+ .,.,
1356
+
1357
+ # reduce 24 omitted
1350
1358
 
1351
- module_eval(<<'.,.,', 'parser.y', 75)
1352
- def _reduce_24(val, _values, result)
1359
+ module_eval(<<'.,.,', 'parser.y', 76)
1360
+ def _reduce_25(val, _values, result)
1353
1361
  begin_c_declaration("}")
1354
1362
 
1355
1363
  result
1356
1364
  end
1357
1365
  .,.,
1358
1366
 
1359
- module_eval(<<'.,.,', 'parser.y', 79)
1360
- def _reduce_25(val, _values, result)
1367
+ module_eval(<<'.,.,', 'parser.y', 80)
1368
+ def _reduce_26(val, _values, result)
1361
1369
  end_c_declaration
1362
1370
 
1363
1371
  result
1364
1372
  end
1365
1373
  .,.,
1366
1374
 
1367
- module_eval(<<'.,.,', 'parser.y', 83)
1368
- def _reduce_26(val, _values, result)
1375
+ module_eval(<<'.,.,', 'parser.y', 84)
1376
+ def _reduce_27(val, _values, result)
1369
1377
  @grammar.set_union(
1370
1378
  Grammar::Code::NoReferenceCode.new(type: :union, token_code: val[3]),
1371
1379
  val[3].line
@@ -1375,44 +1383,44 @@ module_eval(<<'.,.,', 'parser.y', 83)
1375
1383
  end
1376
1384
  .,.,
1377
1385
 
1378
- # reduce 27 omitted
1386
+ # reduce 28 omitted
1379
1387
 
1380
- module_eval(<<'.,.,', 'parser.y', 91)
1381
- def _reduce_28(val, _values, result)
1388
+ module_eval(<<'.,.,', 'parser.y', 92)
1389
+ def _reduce_29(val, _values, result)
1382
1390
  begin_c_declaration("}")
1383
1391
 
1384
1392
  result
1385
1393
  end
1386
1394
  .,.,
1387
1395
 
1388
- module_eval(<<'.,.,', 'parser.y', 95)
1389
- def _reduce_29(val, _values, result)
1396
+ module_eval(<<'.,.,', 'parser.y', 96)
1397
+ def _reduce_30(val, _values, result)
1390
1398
  end_c_declaration
1391
1399
 
1392
1400
  result
1393
1401
  end
1394
1402
  .,.,
1395
1403
 
1396
- # reduce 30 omitted
1404
+ # reduce 31 omitted
1397
1405
 
1398
- module_eval(<<'.,.,', 'parser.y', 100)
1399
- def _reduce_31(val, _values, result)
1406
+ module_eval(<<'.,.,', 'parser.y', 101)
1407
+ def _reduce_32(val, _values, result)
1400
1408
  begin_c_declaration("}")
1401
1409
 
1402
1410
  result
1403
1411
  end
1404
1412
  .,.,
1405
1413
 
1406
- module_eval(<<'.,.,', 'parser.y', 104)
1407
- def _reduce_32(val, _values, result)
1414
+ module_eval(<<'.,.,', 'parser.y', 105)
1415
+ def _reduce_33(val, _values, result)
1408
1416
  end_c_declaration
1409
1417
 
1410
1418
  result
1411
1419
  end
1412
1420
  .,.,
1413
1421
 
1414
- module_eval(<<'.,.,', 'parser.y', 108)
1415
- def _reduce_33(val, _values, result)
1422
+ module_eval(<<'.,.,', 'parser.y', 109)
1423
+ def _reduce_34(val, _values, result)
1416
1424
  @grammar.add_printer(
1417
1425
  ident_or_tags: val[6],
1418
1426
  token_code: val[3],
@@ -1423,24 +1431,24 @@ module_eval(<<'.,.,', 'parser.y', 108)
1423
1431
  end
1424
1432
  .,.,
1425
1433
 
1426
- module_eval(<<'.,.,', 'parser.y', 116)
1427
- def _reduce_34(val, _values, result)
1434
+ module_eval(<<'.,.,', 'parser.y', 117)
1435
+ def _reduce_35(val, _values, result)
1428
1436
  begin_c_declaration("}")
1429
1437
 
1430
1438
  result
1431
1439
  end
1432
1440
  .,.,
1433
1441
 
1434
- module_eval(<<'.,.,', 'parser.y', 120)
1435
- def _reduce_35(val, _values, result)
1442
+ module_eval(<<'.,.,', 'parser.y', 121)
1443
+ def _reduce_36(val, _values, result)
1436
1444
  end_c_declaration
1437
1445
 
1438
1446
  result
1439
1447
  end
1440
1448
  .,.,
1441
1449
 
1442
- module_eval(<<'.,.,', 'parser.y', 124)
1443
- def _reduce_36(val, _values, result)
1450
+ module_eval(<<'.,.,', 'parser.y', 125)
1451
+ def _reduce_37(val, _values, result)
1444
1452
  @grammar.add_error_token(
1445
1453
  ident_or_tags: val[6],
1446
1454
  token_code: val[3],
@@ -1451,10 +1459,10 @@ module_eval(<<'.,.,', 'parser.y', 124)
1451
1459
  end
1452
1460
  .,.,
1453
1461
 
1454
- # reduce 37 omitted
1462
+ # reduce 38 omitted
1455
1463
 
1456
- module_eval(<<'.,.,', 'parser.y', 134)
1457
- def _reduce_38(val, _values, result)
1464
+ module_eval(<<'.,.,', 'parser.y', 135)
1465
+ def _reduce_39(val, _values, result)
1458
1466
  val[1].each {|hash|
1459
1467
  hash[:tokens].each {|id|
1460
1468
  @grammar.add_type(id: id, tag: hash[:tag])
@@ -1465,8 +1473,8 @@ module_eval(<<'.,.,', 'parser.y', 134)
1465
1473
  end
1466
1474
  .,.,
1467
1475
 
1468
- module_eval(<<'.,.,', 'parser.y', 142)
1469
- def _reduce_39(val, _values, result)
1476
+ module_eval(<<'.,.,', 'parser.y', 143)
1477
+ def _reduce_40(val, _values, result)
1470
1478
  val[1].each {|hash|
1471
1479
  hash[:tokens].each {|id|
1472
1480
  sym = @grammar.add_term(id: id)
@@ -1479,8 +1487,8 @@ module_eval(<<'.,.,', 'parser.y', 142)
1479
1487
  end
1480
1488
  .,.,
1481
1489
 
1482
- module_eval(<<'.,.,', 'parser.y', 152)
1483
- def _reduce_40(val, _values, result)
1490
+ module_eval(<<'.,.,', 'parser.y', 153)
1491
+ def _reduce_41(val, _values, result)
1484
1492
  val[1].each {|hash|
1485
1493
  hash[:tokens].each {|id|
1486
1494
  sym = @grammar.add_term(id: id)
@@ -1493,8 +1501,8 @@ module_eval(<<'.,.,', 'parser.y', 152)
1493
1501
  end
1494
1502
  .,.,
1495
1503
 
1496
- module_eval(<<'.,.,', 'parser.y', 162)
1497
- def _reduce_41(val, _values, result)
1504
+ module_eval(<<'.,.,', 'parser.y', 163)
1505
+ def _reduce_42(val, _values, result)
1498
1506
  val[1].each {|hash|
1499
1507
  hash[:tokens].each {|id|
1500
1508
  sym = @grammar.add_term(id: id)
@@ -1507,8 +1515,8 @@ module_eval(<<'.,.,', 'parser.y', 162)
1507
1515
  end
1508
1516
  .,.,
1509
1517
 
1510
- module_eval(<<'.,.,', 'parser.y', 172)
1511
- def _reduce_42(val, _values, result)
1518
+ module_eval(<<'.,.,', 'parser.y', 173)
1519
+ def _reduce_43(val, _values, result)
1512
1520
  val[1].each {|hash|
1513
1521
  hash[:tokens].each {|id|
1514
1522
  sym = @grammar.add_term(id: id)
@@ -1521,8 +1529,8 @@ module_eval(<<'.,.,', 'parser.y', 172)
1521
1529
  end
1522
1530
  .,.,
1523
1531
 
1524
- module_eval(<<'.,.,', 'parser.y', 183)
1525
- def _reduce_43(val, _values, result)
1532
+ module_eval(<<'.,.,', 'parser.y', 184)
1533
+ def _reduce_44(val, _values, result)
1526
1534
  val[0].each {|token_declaration|
1527
1535
  @grammar.add_term(id: token_declaration[0], alias_name: token_declaration[2], token_id: token_declaration[1], tag: nil, replace: true)
1528
1536
  }
@@ -1531,8 +1539,8 @@ module_eval(<<'.,.,', 'parser.y', 183)
1531
1539
  end
1532
1540
  .,.,
1533
1541
 
1534
- module_eval(<<'.,.,', 'parser.y', 189)
1535
- def _reduce_44(val, _values, result)
1542
+ module_eval(<<'.,.,', 'parser.y', 190)
1543
+ def _reduce_45(val, _values, result)
1536
1544
  val[1].each {|token_declaration|
1537
1545
  @grammar.add_term(id: token_declaration[0], alias_name: token_declaration[2], token_id: token_declaration[1], tag: val[0], replace: true)
1538
1546
  }
@@ -1541,8 +1549,8 @@ module_eval(<<'.,.,', 'parser.y', 189)
1541
1549
  end
1542
1550
  .,.,
1543
1551
 
1544
- module_eval(<<'.,.,', 'parser.y', 195)
1545
- def _reduce_45(val, _values, result)
1552
+ module_eval(<<'.,.,', 'parser.y', 196)
1553
+ def _reduce_46(val, _values, result)
1546
1554
  val[2].each {|token_declaration|
1547
1555
  @grammar.add_term(id: token_declaration[0], alias_name: token_declaration[2], token_id: token_declaration[1], tag: val[1], replace: true)
1548
1556
  }
@@ -1551,29 +1559,29 @@ module_eval(<<'.,.,', 'parser.y', 195)
1551
1559
  end
1552
1560
  .,.,
1553
1561
 
1554
- module_eval(<<'.,.,', 'parser.y', 200)
1555
- def _reduce_46(val, _values, result)
1562
+ module_eval(<<'.,.,', 'parser.y', 201)
1563
+ def _reduce_47(val, _values, result)
1556
1564
  result = [val[0]]
1557
1565
  result
1558
1566
  end
1559
1567
  .,.,
1560
1568
 
1561
- module_eval(<<'.,.,', 'parser.y', 201)
1562
- def _reduce_47(val, _values, result)
1569
+ module_eval(<<'.,.,', 'parser.y', 202)
1570
+ def _reduce_48(val, _values, result)
1563
1571
  result = val[0].append(val[1])
1564
1572
  result
1565
1573
  end
1566
1574
  .,.,
1567
1575
 
1568
- module_eval(<<'.,.,', 'parser.y', 203)
1569
- def _reduce_48(val, _values, result)
1576
+ module_eval(<<'.,.,', 'parser.y', 204)
1577
+ def _reduce_49(val, _values, result)
1570
1578
  result = val
1571
1579
  result
1572
1580
  end
1573
1581
  .,.,
1574
1582
 
1575
- module_eval(<<'.,.,', 'parser.y', 207)
1576
- def _reduce_49(val, _values, result)
1583
+ module_eval(<<'.,.,', 'parser.y', 208)
1584
+ def _reduce_50(val, _values, result)
1577
1585
  rule = Grammar::ParameterizingRule::Rule.new(val[1].s_value, val[3], val[6])
1578
1586
  @grammar.add_parameterizing_rule(rule)
1579
1587
 
@@ -1581,22 +1589,22 @@ module_eval(<<'.,.,', 'parser.y', 207)
1581
1589
  end
1582
1590
  .,.,
1583
1591
 
1584
- module_eval(<<'.,.,', 'parser.y', 211)
1585
- def _reduce_50(val, _values, result)
1592
+ module_eval(<<'.,.,', 'parser.y', 212)
1593
+ def _reduce_51(val, _values, result)
1586
1594
  result = [val[0]]
1587
1595
  result
1588
1596
  end
1589
1597
  .,.,
1590
1598
 
1591
- module_eval(<<'.,.,', 'parser.y', 212)
1592
- def _reduce_51(val, _values, result)
1599
+ module_eval(<<'.,.,', 'parser.y', 213)
1600
+ def _reduce_52(val, _values, result)
1593
1601
  result = val[0].append(val[2])
1594
1602
  result
1595
1603
  end
1596
1604
  .,.,
1597
1605
 
1598
- module_eval(<<'.,.,', 'parser.y', 216)
1599
- def _reduce_52(val, _values, result)
1606
+ module_eval(<<'.,.,', 'parser.y', 217)
1607
+ def _reduce_53(val, _values, result)
1600
1608
  builder = val[0]
1601
1609
  result = [builder]
1602
1610
 
@@ -1604,8 +1612,8 @@ module_eval(<<'.,.,', 'parser.y', 216)
1604
1612
  end
1605
1613
  .,.,
1606
1614
 
1607
- module_eval(<<'.,.,', 'parser.y', 221)
1608
- def _reduce_53(val, _values, result)
1615
+ module_eval(<<'.,.,', 'parser.y', 222)
1616
+ def _reduce_54(val, _values, result)
1609
1617
  builder = val[2]
1610
1618
  result = val[0].append(builder)
1611
1619
 
@@ -1613,8 +1621,8 @@ module_eval(<<'.,.,', 'parser.y', 221)
1613
1621
  end
1614
1622
  .,.,
1615
1623
 
1616
- module_eval(<<'.,.,', 'parser.y', 227)
1617
- def _reduce_54(val, _values, result)
1624
+ module_eval(<<'.,.,', 'parser.y', 228)
1625
+ def _reduce_55(val, _values, result)
1618
1626
  reset_precs
1619
1627
  result = Grammar::ParameterizingRule::Rhs.new
1620
1628
 
@@ -1622,8 +1630,8 @@ module_eval(<<'.,.,', 'parser.y', 227)
1622
1630
  end
1623
1631
  .,.,
1624
1632
 
1625
- module_eval(<<'.,.,', 'parser.y', 232)
1626
- def _reduce_55(val, _values, result)
1633
+ module_eval(<<'.,.,', 'parser.y', 233)
1634
+ def _reduce_56(val, _values, result)
1627
1635
  reset_precs
1628
1636
  result = Grammar::ParameterizingRule::Rhs.new
1629
1637
 
@@ -1631,8 +1639,8 @@ module_eval(<<'.,.,', 'parser.y', 232)
1631
1639
  end
1632
1640
  .,.,
1633
1641
 
1634
- module_eval(<<'.,.,', 'parser.y', 237)
1635
- def _reduce_56(val, _values, result)
1642
+ module_eval(<<'.,.,', 'parser.y', 238)
1643
+ def _reduce_57(val, _values, result)
1636
1644
  token = val[1]
1637
1645
  token.alias_name = val[2]
1638
1646
  builder = val[0]
@@ -1643,8 +1651,8 @@ module_eval(<<'.,.,', 'parser.y', 237)
1643
1651
  end
1644
1652
  .,.,
1645
1653
 
1646
- module_eval(<<'.,.,', 'parser.y', 245)
1647
- def _reduce_57(val, _values, result)
1654
+ module_eval(<<'.,.,', 'parser.y', 246)
1655
+ def _reduce_58(val, _values, result)
1648
1656
  builder = val[0]
1649
1657
  builder.symbols << Lrama::Lexer::Token::InstantiateRule.new(s_value: val[2], location: @lexer.location, args: [val[1]])
1650
1658
  result = builder
@@ -1653,8 +1661,8 @@ module_eval(<<'.,.,', 'parser.y', 245)
1653
1661
  end
1654
1662
  .,.,
1655
1663
 
1656
- module_eval(<<'.,.,', 'parser.y', 251)
1657
- def _reduce_58(val, _values, result)
1664
+ module_eval(<<'.,.,', 'parser.y', 252)
1665
+ def _reduce_59(val, _values, result)
1658
1666
  builder = val[0]
1659
1667
  builder.symbols << Lrama::Lexer::Token::InstantiateRule.new(s_value: val[1].s_value, location: @lexer.location, args: val[3])
1660
1668
  result = builder
@@ -1663,8 +1671,8 @@ module_eval(<<'.,.,', 'parser.y', 251)
1663
1671
  end
1664
1672
  .,.,
1665
1673
 
1666
- module_eval(<<'.,.,', 'parser.y', 257)
1667
- def _reduce_59(val, _values, result)
1674
+ module_eval(<<'.,.,', 'parser.y', 258)
1675
+ def _reduce_60(val, _values, result)
1668
1676
  if @prec_seen
1669
1677
  on_action_error("multiple User_code after %prec", val[0]) if @code_after_prec
1670
1678
  @code_after_prec = true
@@ -1675,16 +1683,16 @@ module_eval(<<'.,.,', 'parser.y', 257)
1675
1683
  end
1676
1684
  .,.,
1677
1685
 
1678
- module_eval(<<'.,.,', 'parser.y', 265)
1679
- def _reduce_60(val, _values, result)
1686
+ module_eval(<<'.,.,', 'parser.y', 266)
1687
+ def _reduce_61(val, _values, result)
1680
1688
  end_c_declaration
1681
1689
 
1682
1690
  result
1683
1691
  end
1684
1692
  .,.,
1685
1693
 
1686
- module_eval(<<'.,.,', 'parser.y', 269)
1687
- def _reduce_61(val, _values, result)
1694
+ module_eval(<<'.,.,', 'parser.y', 270)
1695
+ def _reduce_62(val, _values, result)
1688
1696
  user_code = val[3]
1689
1697
  user_code.alias_name = val[6]
1690
1698
  builder = val[0]
@@ -1695,8 +1703,8 @@ module_eval(<<'.,.,', 'parser.y', 269)
1695
1703
  end
1696
1704
  .,.,
1697
1705
 
1698
- module_eval(<<'.,.,', 'parser.y', 277)
1699
- def _reduce_62(val, _values, result)
1706
+ module_eval(<<'.,.,', 'parser.y', 278)
1707
+ def _reduce_63(val, _values, result)
1700
1708
  sym = @grammar.find_symbol_by_id!(val[2])
1701
1709
  @prec_seen = true
1702
1710
  builder = val[0]
@@ -1707,168 +1715,168 @@ module_eval(<<'.,.,', 'parser.y', 277)
1707
1715
  end
1708
1716
  .,.,
1709
1717
 
1710
- # reduce 63 omitted
1711
-
1712
1718
  # reduce 64 omitted
1713
1719
 
1714
1720
  # reduce 65 omitted
1715
1721
 
1716
1722
  # reduce 66 omitted
1717
1723
 
1718
- module_eval(<<'.,.,', 'parser.y', 292)
1719
- def _reduce_67(val, _values, result)
1724
+ # reduce 67 omitted
1725
+
1726
+ module_eval(<<'.,.,', 'parser.y', 293)
1727
+ def _reduce_68(val, _values, result)
1720
1728
  result = [{tag: nil, tokens: val[0]}]
1721
1729
 
1722
1730
  result
1723
1731
  end
1724
1732
  .,.,
1725
1733
 
1726
- module_eval(<<'.,.,', 'parser.y', 296)
1727
- def _reduce_68(val, _values, result)
1734
+ module_eval(<<'.,.,', 'parser.y', 297)
1735
+ def _reduce_69(val, _values, result)
1728
1736
  result = [{tag: val[0], tokens: val[1]}]
1729
1737
 
1730
1738
  result
1731
1739
  end
1732
1740
  .,.,
1733
1741
 
1734
- module_eval(<<'.,.,', 'parser.y', 300)
1735
- def _reduce_69(val, _values, result)
1742
+ module_eval(<<'.,.,', 'parser.y', 301)
1743
+ def _reduce_70(val, _values, result)
1736
1744
  result = val[0].append({tag: val[1], tokens: val[2]})
1737
1745
 
1738
1746
  result
1739
1747
  end
1740
1748
  .,.,
1741
1749
 
1742
- module_eval(<<'.,.,', 'parser.y', 303)
1743
- def _reduce_70(val, _values, result)
1750
+ module_eval(<<'.,.,', 'parser.y', 304)
1751
+ def _reduce_71(val, _values, result)
1744
1752
  result = [val[0]]
1745
1753
  result
1746
1754
  end
1747
1755
  .,.,
1748
1756
 
1749
- module_eval(<<'.,.,', 'parser.y', 304)
1750
- def _reduce_71(val, _values, result)
1757
+ module_eval(<<'.,.,', 'parser.y', 305)
1758
+ def _reduce_72(val, _values, result)
1751
1759
  result = val[0].append(val[1])
1752
1760
  result
1753
1761
  end
1754
1762
  .,.,
1755
1763
 
1756
- # reduce 72 omitted
1757
-
1758
1764
  # reduce 73 omitted
1759
1765
 
1760
- module_eval(<<'.,.,', 'parser.y', 311)
1761
- def _reduce_74(val, _values, result)
1766
+ # reduce 74 omitted
1767
+
1768
+ module_eval(<<'.,.,', 'parser.y', 312)
1769
+ def _reduce_75(val, _values, result)
1762
1770
  begin_c_declaration("}")
1763
1771
 
1764
1772
  result
1765
1773
  end
1766
1774
  .,.,
1767
1775
 
1768
- module_eval(<<'.,.,', 'parser.y', 315)
1769
- def _reduce_75(val, _values, result)
1776
+ module_eval(<<'.,.,', 'parser.y', 316)
1777
+ def _reduce_76(val, _values, result)
1770
1778
  end_c_declaration
1771
1779
 
1772
1780
  result
1773
1781
  end
1774
1782
  .,.,
1775
1783
 
1776
- module_eval(<<'.,.,', 'parser.y', 319)
1777
- def _reduce_76(val, _values, result)
1784
+ module_eval(<<'.,.,', 'parser.y', 320)
1785
+ def _reduce_77(val, _values, result)
1778
1786
  result = val[0].append(val[3])
1779
1787
 
1780
1788
  result
1781
1789
  end
1782
1790
  .,.,
1783
1791
 
1784
- module_eval(<<'.,.,', 'parser.y', 323)
1785
- def _reduce_77(val, _values, result)
1792
+ module_eval(<<'.,.,', 'parser.y', 324)
1793
+ def _reduce_78(val, _values, result)
1786
1794
  begin_c_declaration("}")
1787
1795
 
1788
1796
  result
1789
1797
  end
1790
1798
  .,.,
1791
1799
 
1792
- module_eval(<<'.,.,', 'parser.y', 327)
1793
- def _reduce_78(val, _values, result)
1800
+ module_eval(<<'.,.,', 'parser.y', 328)
1801
+ def _reduce_79(val, _values, result)
1794
1802
  end_c_declaration
1795
1803
 
1796
1804
  result
1797
1805
  end
1798
1806
  .,.,
1799
1807
 
1800
- module_eval(<<'.,.,', 'parser.y', 331)
1801
- def _reduce_79(val, _values, result)
1808
+ module_eval(<<'.,.,', 'parser.y', 332)
1809
+ def _reduce_80(val, _values, result)
1802
1810
  result = [val[2]]
1803
1811
 
1804
1812
  result
1805
1813
  end
1806
1814
  .,.,
1807
1815
 
1808
- module_eval(<<'.,.,', 'parser.y', 336)
1809
- def _reduce_80(val, _values, result)
1816
+ module_eval(<<'.,.,', 'parser.y', 337)
1817
+ def _reduce_81(val, _values, result)
1810
1818
  result = [{tag: nil, tokens: val[0]}]
1811
1819
 
1812
1820
  result
1813
1821
  end
1814
1822
  .,.,
1815
1823
 
1816
- module_eval(<<'.,.,', 'parser.y', 340)
1817
- def _reduce_81(val, _values, result)
1824
+ module_eval(<<'.,.,', 'parser.y', 341)
1825
+ def _reduce_82(val, _values, result)
1818
1826
  result = [{tag: val[0], tokens: val[1]}]
1819
1827
 
1820
1828
  result
1821
1829
  end
1822
1830
  .,.,
1823
1831
 
1824
- module_eval(<<'.,.,', 'parser.y', 344)
1825
- def _reduce_82(val, _values, result)
1832
+ module_eval(<<'.,.,', 'parser.y', 345)
1833
+ def _reduce_83(val, _values, result)
1826
1834
  result = val[0].append({tag: val[1], tokens: val[2]})
1827
1835
 
1828
1836
  result
1829
1837
  end
1830
1838
  .,.,
1831
1839
 
1832
- module_eval(<<'.,.,', 'parser.y', 347)
1833
- def _reduce_83(val, _values, result)
1840
+ module_eval(<<'.,.,', 'parser.y', 348)
1841
+ def _reduce_84(val, _values, result)
1834
1842
  result = [val[0]]
1835
1843
  result
1836
1844
  end
1837
1845
  .,.,
1838
1846
 
1839
- module_eval(<<'.,.,', 'parser.y', 348)
1840
- def _reduce_84(val, _values, result)
1847
+ module_eval(<<'.,.,', 'parser.y', 349)
1848
+ def _reduce_85(val, _values, result)
1841
1849
  result = val[0].append(val[1])
1842
1850
  result
1843
1851
  end
1844
1852
  .,.,
1845
1853
 
1846
- # reduce 85 omitted
1854
+ # reduce 86 omitted
1847
1855
 
1848
- module_eval(<<'.,.,', 'parser.y', 352)
1849
- def _reduce_86(val, _values, result)
1856
+ module_eval(<<'.,.,', 'parser.y', 353)
1857
+ def _reduce_87(val, _values, result)
1850
1858
  on_action_error("ident after %prec", val[0]) if @prec_seen
1851
1859
  result
1852
1860
  end
1853
1861
  .,.,
1854
1862
 
1855
- module_eval(<<'.,.,', 'parser.y', 353)
1856
- def _reduce_87(val, _values, result)
1863
+ module_eval(<<'.,.,', 'parser.y', 354)
1864
+ def _reduce_88(val, _values, result)
1857
1865
  on_action_error("char after %prec", val[0]) if @prec_seen
1858
1866
  result
1859
1867
  end
1860
1868
  .,.,
1861
1869
 
1862
- # reduce 88 omitted
1863
-
1864
1870
  # reduce 89 omitted
1865
1871
 
1866
1872
  # reduce 90 omitted
1867
1873
 
1868
1874
  # reduce 91 omitted
1869
1875
 
1870
- module_eval(<<'.,.,', 'parser.y', 363)
1871
- def _reduce_92(val, _values, result)
1876
+ # reduce 92 omitted
1877
+
1878
+ module_eval(<<'.,.,', 'parser.y', 364)
1879
+ def _reduce_93(val, _values, result)
1872
1880
  lhs = val[0]
1873
1881
  lhs.alias_name = val[1]
1874
1882
  val[3].each do |builder|
@@ -1881,8 +1889,8 @@ module_eval(<<'.,.,', 'parser.y', 363)
1881
1889
  end
1882
1890
  .,.,
1883
1891
 
1884
- module_eval(<<'.,.,', 'parser.y', 374)
1885
- def _reduce_93(val, _values, result)
1892
+ module_eval(<<'.,.,', 'parser.y', 375)
1893
+ def _reduce_94(val, _values, result)
1886
1894
  builder = val[0]
1887
1895
  if !builder.line
1888
1896
  builder.line = @lexer.line - 1
@@ -1893,8 +1901,8 @@ module_eval(<<'.,.,', 'parser.y', 374)
1893
1901
  end
1894
1902
  .,.,
1895
1903
 
1896
- module_eval(<<'.,.,', 'parser.y', 382)
1897
- def _reduce_94(val, _values, result)
1904
+ module_eval(<<'.,.,', 'parser.y', 383)
1905
+ def _reduce_95(val, _values, result)
1898
1906
  builder = val[2]
1899
1907
  if !builder.line
1900
1908
  builder.line = @lexer.line - 1
@@ -1905,10 +1913,10 @@ module_eval(<<'.,.,', 'parser.y', 382)
1905
1913
  end
1906
1914
  .,.,
1907
1915
 
1908
- # reduce 95 omitted
1916
+ # reduce 96 omitted
1909
1917
 
1910
- module_eval(<<'.,.,', 'parser.y', 392)
1911
- def _reduce_96(val, _values, result)
1918
+ module_eval(<<'.,.,', 'parser.y', 393)
1919
+ def _reduce_97(val, _values, result)
1912
1920
  reset_precs
1913
1921
  result = Grammar::RuleBuilder.new(@rule_counter, @midrule_action_counter)
1914
1922
 
@@ -1916,8 +1924,8 @@ module_eval(<<'.,.,', 'parser.y', 392)
1916
1924
  end
1917
1925
  .,.,
1918
1926
 
1919
- module_eval(<<'.,.,', 'parser.y', 397)
1920
- def _reduce_97(val, _values, result)
1927
+ module_eval(<<'.,.,', 'parser.y', 398)
1928
+ def _reduce_98(val, _values, result)
1921
1929
  reset_precs
1922
1930
  result = Grammar::RuleBuilder.new(@rule_counter, @midrule_action_counter)
1923
1931
 
@@ -1925,8 +1933,8 @@ module_eval(<<'.,.,', 'parser.y', 397)
1925
1933
  end
1926
1934
  .,.,
1927
1935
 
1928
- module_eval(<<'.,.,', 'parser.y', 402)
1929
- def _reduce_98(val, _values, result)
1936
+ module_eval(<<'.,.,', 'parser.y', 403)
1937
+ def _reduce_99(val, _values, result)
1930
1938
  token = val[1]
1931
1939
  token.alias_name = val[2]
1932
1940
  builder = val[0]
@@ -1937,8 +1945,8 @@ module_eval(<<'.,.,', 'parser.y', 402)
1937
1945
  end
1938
1946
  .,.,
1939
1947
 
1940
- module_eval(<<'.,.,', 'parser.y', 410)
1941
- def _reduce_99(val, _values, result)
1948
+ module_eval(<<'.,.,', 'parser.y', 411)
1949
+ def _reduce_100(val, _values, result)
1942
1950
  token = Lrama::Lexer::Token::InstantiateRule.new(s_value: val[2], location: @lexer.location, args: [val[1]], lhs_tag: val[3])
1943
1951
  builder = val[0]
1944
1952
  builder.add_rhs(token)
@@ -1949,8 +1957,8 @@ module_eval(<<'.,.,', 'parser.y', 410)
1949
1957
  end
1950
1958
  .,.,
1951
1959
 
1952
- module_eval(<<'.,.,', 'parser.y', 418)
1953
- def _reduce_100(val, _values, result)
1960
+ module_eval(<<'.,.,', 'parser.y', 419)
1961
+ def _reduce_101(val, _values, result)
1954
1962
  token = Lrama::Lexer::Token::InstantiateRule.new(s_value: val[1].s_value, location: @lexer.location, args: val[3], lhs_tag: val[5])
1955
1963
  builder = val[0]
1956
1964
  builder.add_rhs(token)
@@ -1961,8 +1969,8 @@ module_eval(<<'.,.,', 'parser.y', 418)
1961
1969
  end
1962
1970
  .,.,
1963
1971
 
1964
- module_eval(<<'.,.,', 'parser.y', 426)
1965
- def _reduce_101(val, _values, result)
1972
+ module_eval(<<'.,.,', 'parser.y', 427)
1973
+ def _reduce_102(val, _values, result)
1966
1974
  if @prec_seen
1967
1975
  on_action_error("multiple User_code after %prec", val[0]) if @code_after_prec
1968
1976
  @code_after_prec = true
@@ -1973,16 +1981,16 @@ module_eval(<<'.,.,', 'parser.y', 426)
1973
1981
  end
1974
1982
  .,.,
1975
1983
 
1976
- module_eval(<<'.,.,', 'parser.y', 434)
1977
- def _reduce_102(val, _values, result)
1984
+ module_eval(<<'.,.,', 'parser.y', 435)
1985
+ def _reduce_103(val, _values, result)
1978
1986
  end_c_declaration
1979
1987
 
1980
1988
  result
1981
1989
  end
1982
1990
  .,.,
1983
1991
 
1984
- module_eval(<<'.,.,', 'parser.y', 438)
1985
- def _reduce_103(val, _values, result)
1992
+ module_eval(<<'.,.,', 'parser.y', 439)
1993
+ def _reduce_104(val, _values, result)
1986
1994
  user_code = val[3]
1987
1995
  user_code.alias_name = val[6]
1988
1996
  builder = val[0]
@@ -1993,8 +2001,8 @@ module_eval(<<'.,.,', 'parser.y', 438)
1993
2001
  end
1994
2002
  .,.,
1995
2003
 
1996
- module_eval(<<'.,.,', 'parser.y', 446)
1997
- def _reduce_104(val, _values, result)
2004
+ module_eval(<<'.,.,', 'parser.y', 447)
2005
+ def _reduce_105(val, _values, result)
1998
2006
  sym = @grammar.find_symbol_by_id!(val[2])
1999
2007
  @prec_seen = true
2000
2008
  builder = val[0]
@@ -2005,55 +2013,70 @@ module_eval(<<'.,.,', 'parser.y', 446)
2005
2013
  end
2006
2014
  .,.,
2007
2015
 
2008
- # reduce 105 omitted
2009
-
2010
- # reduce 106 omitted
2016
+ module_eval(<<'.,.,', 'parser.y', 454)
2017
+ def _reduce_106(val, _values, result)
2018
+ result = "option"
2019
+ result
2020
+ end
2021
+ .,.,
2011
2022
 
2012
- # reduce 107 omitted
2023
+ module_eval(<<'.,.,', 'parser.y', 455)
2024
+ def _reduce_107(val, _values, result)
2025
+ result = "nonempty_list"
2026
+ result
2027
+ end
2028
+ .,.,
2013
2029
 
2014
- module_eval(<<'.,.,', 'parser.y', 457)
2030
+ module_eval(<<'.,.,', 'parser.y', 456)
2015
2031
  def _reduce_108(val, _values, result)
2016
- result = [val[0]]
2032
+ result = "list"
2017
2033
  result
2018
2034
  end
2019
2035
  .,.,
2020
2036
 
2021
2037
  module_eval(<<'.,.,', 'parser.y', 458)
2022
2038
  def _reduce_109(val, _values, result)
2023
- result = val[0].append(val[2])
2039
+ result = [val[0]]
2024
2040
  result
2025
2041
  end
2026
2042
  .,.,
2027
2043
 
2028
2044
  module_eval(<<'.,.,', 'parser.y', 459)
2029
2045
  def _reduce_110(val, _values, result)
2030
- result = [Lrama::Lexer::Token::InstantiateRule.new(s_value: val[1].s_value, location: @lexer.location, args: val[0])]
2046
+ result = val[0].append(val[2])
2031
2047
  result
2032
2048
  end
2033
2049
  .,.,
2034
2050
 
2035
2051
  module_eval(<<'.,.,', 'parser.y', 460)
2036
2052
  def _reduce_111(val, _values, result)
2053
+ result = [Lrama::Lexer::Token::InstantiateRule.new(s_value: val[1].s_value, location: @lexer.location, args: val[0])]
2054
+ result
2055
+ end
2056
+ .,.,
2057
+
2058
+ module_eval(<<'.,.,', 'parser.y', 461)
2059
+ def _reduce_112(val, _values, result)
2037
2060
  result = [Lrama::Lexer::Token::InstantiateRule.new(s_value: val[0].s_value, location: @lexer.location, args: val[2])]
2038
2061
  result
2039
2062
  end
2040
2063
  .,.,
2041
2064
 
2042
- # reduce 112 omitted
2065
+ # reduce 113 omitted
2043
2066
 
2044
- module_eval(<<'.,.,', 'parser.y', 463)
2045
- def _reduce_113(val, _values, result)
2067
+ module_eval(<<'.,.,', 'parser.y', 464)
2068
+ def _reduce_114(val, _values, result)
2046
2069
  result = val[1].s_value
2047
2070
  result
2048
2071
  end
2049
2072
  .,.,
2050
2073
 
2051
- # reduce 114 omitted
2052
-
2053
2074
  # reduce 115 omitted
2054
2075
 
2055
- module_eval(<<'.,.,', 'parser.y', 470)
2056
- def _reduce_116(val, _values, result)
2076
+ # reduce 116 omitted
2077
+
2078
+ module_eval(<<'.,.,', 'parser.y', 471)
2079
+ def _reduce_117(val, _values, result)
2057
2080
  begin_c_declaration('\Z')
2058
2081
  @grammar.epilogue_first_lineno = @lexer.line + 1
2059
2082
 
@@ -2061,8 +2084,8 @@ module_eval(<<'.,.,', 'parser.y', 470)
2061
2084
  end
2062
2085
  .,.,
2063
2086
 
2064
- module_eval(<<'.,.,', 'parser.y', 475)
2065
- def _reduce_117(val, _values, result)
2087
+ module_eval(<<'.,.,', 'parser.y', 476)
2088
+ def _reduce_118(val, _values, result)
2066
2089
  end_c_declaration
2067
2090
  @grammar.epilogue = val[2].s_value
2068
2091
 
@@ -2070,8 +2093,6 @@ module_eval(<<'.,.,', 'parser.y', 475)
2070
2093
  end
2071
2094
  .,.,
2072
2095
 
2073
- # reduce 118 omitted
2074
-
2075
2096
  # reduce 119 omitted
2076
2097
 
2077
2098
  # reduce 120 omitted
@@ -2080,35 +2101,37 @@ module_eval(<<'.,.,', 'parser.y', 475)
2080
2101
 
2081
2102
  # reduce 122 omitted
2082
2103
 
2083
- module_eval(<<'.,.,', 'parser.y', 486)
2084
- def _reduce_123(val, _values, result)
2104
+ # reduce 123 omitted
2105
+
2106
+ module_eval(<<'.,.,', 'parser.y', 487)
2107
+ def _reduce_124(val, _values, result)
2085
2108
  result = [val[0]]
2086
2109
  result
2087
2110
  end
2088
2111
  .,.,
2089
2112
 
2090
- module_eval(<<'.,.,', 'parser.y', 487)
2091
- def _reduce_124(val, _values, result)
2113
+ module_eval(<<'.,.,', 'parser.y', 488)
2114
+ def _reduce_125(val, _values, result)
2092
2115
  result = val[0].append(val[1])
2093
2116
  result
2094
2117
  end
2095
2118
  .,.,
2096
2119
 
2097
- # reduce 125 omitted
2098
-
2099
2120
  # reduce 126 omitted
2100
2121
 
2101
- module_eval(<<'.,.,', 'parser.y', 492)
2102
- def _reduce_127(val, _values, result)
2122
+ # reduce 127 omitted
2123
+
2124
+ module_eval(<<'.,.,', 'parser.y', 493)
2125
+ def _reduce_128(val, _values, result)
2103
2126
  result = Lrama::Lexer::Token::Ident.new(s_value: val[0])
2104
2127
  result
2105
2128
  end
2106
2129
  .,.,
2107
2130
 
2108
- # reduce 128 omitted
2109
-
2110
2131
  # reduce 129 omitted
2111
2132
 
2133
+ # reduce 130 omitted
2134
+
2112
2135
  def _reduce_none(val, _values, result)
2113
2136
  val[0]
2114
2137
  end