lrama 0.6.4 → 0.6.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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', 528)
661
+ module_eval(<<'...end parser.y/module_eval...', 'parser.y', 536)
662
662
 
663
663
  include Lrama::Report::Duration
664
664
 
@@ -732,316 +732,322 @@ end
732
732
  ##### State transition tables begin ###
733
733
 
734
734
  racc_action_table = [
735
- 96, 50, 97, 156, 155, 78, 50, 50, 156, 199,
736
- 78, 78, 50, 50, 199, 49, 78, 158, 69, 6,
737
- 3, 7, 158, 200, 210, 154, 8, 50, 200, 49,
738
- 40, 174, 175, 176, 47, 50, 46, 49, 53, 78,
739
- 74, 50, 53, 49, 159, 53, 81, 98, 56, 159,
740
- 201, 174, 175, 176, 94, 201, 22, 24, 25, 26,
735
+ 98, 51, 99, 163, 88, 79, 51, 51, 179, 163,
736
+ 79, 79, 51, 162, 179, 156, 79, 165, 157, 3,
737
+ 8, 203, 180, 165, 186, 187, 188, 96, 180, 186,
738
+ 187, 188, 41, 48, 51, 161, 50, 47, 51, 70,
739
+ 50, 54, 89, 82, 51, 166, 50, 54, 100, 82,
740
+ 181, 166, 216, 54, 57, 217, 181, 23, 25, 26,
741
741
  27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
742
- 37, 46, 50, 50, 49, 49, 91, 81, 81, 50,
743
- 50, 49, 49, 50, 81, 49, 57, 78, 184, 58,
744
- 59, 22, 24, 25, 26, 27, 28, 29, 30, 31,
745
- 32, 33, 34, 35, 36, 37, 9, 50, 60, 49,
746
- 13, 14, 15, 16, 17, 18, 61, 62, 19, 20,
747
- 21, 22, 24, 25, 26, 27, 28, 29, 30, 31,
748
- 32, 33, 34, 35, 36, 37, 38, 50, 50, 49,
749
- 49, 78, 184, 50, 50, 49, 49, 78, 184, 50,
750
- 50, 49, 49, 78, 184, 50, 50, 49, 49, 78,
751
- 184, 50, 50, 49, 49, 78, 184, 50, 50, 49,
752
- 49, 78, 78, 50, 50, 49, 49, 78, 78, 50,
753
- 50, 49, 49, 78, 78, 50, 50, 190, 49, 78,
754
- 78, 50, 50, 190, 49, 78, 78, 50, 50, 190,
755
- 49, 78, 50, 50, 49, 49, 152, 203, 153, 204,
756
- 174, 175, 176, 219, 221, 204, 204, 63, 64, 65,
757
- 66, 87, 88, 92, 94, 99, 99, 99, 101, 107,
758
- 111, 112, 115, 115, 115, 115, 118, 121, 122, 124,
759
- 126, 127, 128, 129, 130, 133, 137, 138, 139, 142,
760
- 143, 144, 146, 161, 163, 164, 165, 166, 167, 168,
761
- 169, 142, 171, 179, 180, 189, 194, 195, 197, 202,
762
- 189, 94, 194, 216, 218, 94, 223, 94 ]
742
+ 37, 38, 47, 6, 51, 7, 50, 93, 79, 75,
743
+ 51, 51, 50, 50, 58, 82, 82, 51, 51, 50,
744
+ 50, 79, 23, 25, 26, 27, 28, 29, 30, 31,
745
+ 32, 33, 34, 35, 36, 37, 38, 9, 51, 59,
746
+ 50, 14, 15, 16, 17, 18, 19, 60, 61, 20,
747
+ 21, 22, 23, 25, 26, 27, 28, 29, 30, 31,
748
+ 32, 33, 34, 35, 36, 37, 38, 39, 51, 51,
749
+ 50, 50, 79, 196, 51, 51, 50, 50, 79, 196,
750
+ 51, 51, 50, 50, 79, 196, 51, 51, 50, 50,
751
+ 79, 196, 51, 51, 50, 50, 79, 196, 51, 51,
752
+ 50, 50, 79, 196, 51, 51, 50, 50, 79, 79,
753
+ 51, 51, 50, 50, 79, 79, 51, 51, 50, 50,
754
+ 79, 79, 51, 51, 206, 206, 79, 79, 51, 51,
755
+ 206, 50, 79, 79, 220, 227, 62, 217, 217, 51,
756
+ 51, 50, 50, 51, 63, 50, 186, 187, 188, 64,
757
+ 65, 66, 67, 90, 94, 96, 101, 101, 101, 103,
758
+ 109, 113, 114, 117, 117, 117, 117, 120, 47, 124,
759
+ 125, 127, 129, 130, 131, 132, 133, 136, 140, 141,
760
+ 142, 143, 146, 147, 148, 150, 160, 168, 170, 171,
761
+ 172, 173, 174, 175, 176, 177, 146, 183, 191, 192,
762
+ 160, 160, 96, 210, 211, 177, 214, 215, 210, 225,
763
+ 226, 96, 96, 210 ]
763
764
 
764
765
  racc_action_check = [
765
- 48, 141, 48, 141, 140, 141, 170, 188, 170, 188,
766
- 170, 188, 207, 32, 207, 32, 207, 141, 32, 2,
767
- 1, 2, 170, 188, 199, 140, 3, 14, 207, 14,
768
- 7, 199, 199, 199, 13, 33, 9, 33, 15, 33,
769
- 33, 34, 16, 34, 141, 17, 34, 48, 18, 170,
770
- 188, 157, 157, 157, 157, 207, 9, 9, 9, 9,
766
+ 49, 145, 49, 145, 39, 145, 159, 182, 159, 182,
767
+ 159, 182, 200, 144, 200, 139, 200, 145, 139, 1,
768
+ 3, 179, 159, 182, 164, 164, 164, 164, 200, 179,
769
+ 179, 179, 7, 14, 33, 144, 33, 9, 35, 33,
770
+ 35, 16, 39, 35, 36, 145, 36, 17, 49, 36,
771
+ 159, 182, 207, 18, 19, 207, 200, 9, 9, 9,
771
772
  9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
772
- 9, 41, 35, 36, 35, 36, 41, 35, 36, 37,
773
- 68, 37, 68, 165, 37, 165, 19, 165, 165, 22,
774
- 24, 41, 41, 41, 41, 41, 41, 41, 41, 41,
775
- 41, 41, 41, 41, 41, 41, 4, 69, 25, 69,
776
- 4, 4, 4, 4, 4, 4, 26, 27, 4, 4,
773
+ 9, 9, 42, 2, 34, 2, 34, 42, 34, 34,
774
+ 37, 38, 37, 38, 20, 37, 38, 74, 15, 74,
775
+ 15, 74, 42, 42, 42, 42, 42, 42, 42, 42,
776
+ 42, 42, 42, 42, 42, 42, 42, 4, 69, 23,
777
+ 69, 4, 4, 4, 4, 4, 4, 25, 26, 4,
777
778
  4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
778
- 4, 4, 4, 4, 4, 4, 4, 166, 80, 166,
779
- 80, 166, 166, 167, 81, 167, 81, 167, 167, 181,
780
- 107, 181, 107, 181, 181, 185, 109, 185, 109, 185,
781
- 185, 186, 115, 186, 115, 186, 186, 73, 74, 73,
782
- 74, 73, 74, 112, 114, 112, 114, 112, 114, 134,
783
- 159, 134, 159, 134, 159, 171, 201, 171, 201, 171,
784
- 201, 202, 204, 202, 204, 202, 204, 210, 117, 210,
785
- 117, 210, 131, 135, 131, 135, 136, 191, 136, 191,
786
- 192, 192, 192, 213, 217, 213, 217, 28, 29, 30,
787
- 31, 38, 39, 44, 45, 52, 54, 55, 56, 67,
788
- 71, 72, 79, 84, 85, 86, 87, 93, 94, 100,
789
- 102, 103, 104, 105, 106, 110, 118, 119, 120, 121,
790
- 122, 123, 125, 145, 147, 148, 149, 150, 151, 152,
791
- 153, 154, 156, 160, 162, 168, 173, 177, 187, 190,
792
- 197, 198, 203, 206, 211, 216, 222, 223 ]
779
+ 4, 4, 4, 4, 4, 4, 4, 4, 172, 70,
780
+ 172, 70, 172, 172, 173, 81, 173, 81, 173, 173,
781
+ 174, 82, 174, 82, 174, 174, 193, 109, 193, 109,
782
+ 193, 193, 197, 111, 197, 111, 197, 197, 198, 117,
783
+ 198, 117, 198, 198, 75, 114, 75, 114, 75, 114,
784
+ 116, 137, 116, 137, 116, 137, 166, 181, 166, 181,
785
+ 166, 181, 183, 203, 183, 203, 183, 203, 215, 217,
786
+ 215, 217, 215, 217, 213, 222, 27, 213, 222, 119,
787
+ 134, 119, 134, 138, 28, 138, 208, 208, 208, 29,
788
+ 30, 31, 32, 40, 45, 46, 53, 55, 56, 57,
789
+ 68, 72, 73, 80, 85, 86, 87, 88, 89, 95,
790
+ 96, 102, 104, 105, 106, 107, 108, 112, 120, 121,
791
+ 122, 123, 124, 125, 126, 128, 141, 149, 151, 152,
792
+ 153, 154, 155, 156, 157, 158, 161, 163, 167, 169,
793
+ 175, 177, 178, 185, 189, 199, 204, 206, 216, 219,
794
+ 221, 225, 226, 228 ]
793
795
 
794
796
  racc_action_pointer = [
795
- nil, 20, 9, 26, 97, nil, nil, 23, nil, 32,
796
- nil, nil, nil, 28, 24, 19, 23, 26, 43, 67,
797
- nil, nil, 70, nil, 71, 89, 97, 112, 212, 213,
798
- 214, 215, 10, 32, 38, 69, 70, 76, 216, 220,
799
- nil, 67, nil, nil, 200, 174, nil, nil, -5, nil,
800
- nil, nil, 206, nil, 207, 208, 209, nil, nil, nil,
801
- nil, nil, nil, nil, nil, nil, nil, 221, 77, 104,
802
- nil, 224, 223, 164, 165, nil, nil, nil, nil, 224,
803
- 135, 141, nil, nil, 225, 226, 227, 196, nil, nil,
804
- nil, nil, nil, 195, 233, nil, nil, nil, nil, nil,
805
- 237, nil, 238, 239, 240, 241, 242, 147, nil, 153,
806
- 238, nil, 170, nil, 171, 159, nil, 195, 241, 236,
807
- 246, 204, 199, 249, nil, 250, nil, nil, nil, nil,
808
- nil, 199, nil, nil, 176, 200, 165, nil, nil, nil,
809
- -19, -2, nil, nil, nil, 233, nil, 234, 235, 236,
810
- 237, 238, 217, 255, 216, nil, 222, 4, nil, 177,
811
- 243, nil, 244, nil, nil, 80, 134, 140, 220, nil,
812
- 3, 182, nil, 258, nil, nil, nil, 265, nil, nil,
813
- nil, 146, nil, nil, nil, 152, 158, 224, 4, nil,
814
- 229, 166, 163, nil, nil, nil, nil, 225, 221, -16,
815
- nil, 183, 188, 264, 189, nil, 253, 9, nil, nil,
816
- 194, 272, nil, 172, nil, nil, 225, 173, nil, nil,
817
- nil, nil, 256, 227, nil ]
797
+ nil, 19, 63, 20, 98, nil, nil, 25, nil, 33,
798
+ nil, nil, nil, nil, 27, 85, 22, 28, 34, 49,
799
+ 65, nil, nil, 90, nil, 98, 99, 187, 209, 214,
800
+ 215, 216, 217, 31, 71, 35, 41, 77, 78, -1,
801
+ 221, nil, 68, nil, nil, 201, 174, nil, nil, -5,
802
+ nil, nil, nil, 207, nil, 208, 209, 210, nil, nil,
803
+ nil, nil, nil, nil, nil, nil, nil, nil, 222, 105,
804
+ 136, nil, 225, 224, 84, 171, nil, nil, nil, nil,
805
+ 225, 142, 148, nil, nil, 226, 227, 228, 197, 234,
806
+ nil, nil, nil, nil, nil, 197, 235, nil, nil, nil,
807
+ nil, nil, 239, nil, 240, 241, 242, 243, 244, 154,
808
+ nil, 160, 240, nil, 172, nil, 177, 166, nil, 206,
809
+ 243, 207, 239, 249, 206, 201, 252, nil, 253, nil,
810
+ nil, nil, nil, nil, 207, nil, nil, 178, 210, -26,
811
+ nil, 210, nil, nil, -10, -2, nil, nil, nil, 237,
812
+ nil, 238, 239, 240, 241, 242, 221, 259, 220, 3,
813
+ nil, 220, nil, 227, -24, nil, 183, 248, nil, 249,
814
+ nil, nil, 135, 141, 147, 224, nil, 225, 221, -19,
815
+ nil, 184, 4, 189, nil, 265, nil, nil, nil, 272,
816
+ nil, nil, nil, 153, nil, nil, nil, 159, 165, 230,
817
+ 9, nil, nil, 190, 274, nil, 237, 11, 168, nil,
818
+ nil, nil, nil, 163, nil, 195, 270, 196, nil, 259,
819
+ nil, 260, 164, nil, nil, 230, 231, nil, 275, nil,
820
+ nil ]
818
821
 
819
822
  racc_action_default = [
820
- -2, -136, -8, -136, -136, -3, -4, -136, 225, -136,
821
- -9, -10, -11, -136, -136, -136, -136, -136, -136, -136,
822
- -23, -24, -136, -28, -136, -136, -136, -136, -136, -136,
823
- -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
824
- -7, -121, -94, -96, -136, -118, -120, -12, -125, -92,
825
- -93, -124, -14, -83, -15, -16, -136, -20, -25, -29,
826
- -32, -35, -38, -39, -40, -41, -42, -43, -49, -136,
827
- -52, -69, -44, -73, -136, -76, -78, -79, -133, -45,
828
- -86, -136, -89, -91, -46, -47, -48, -136, -5, -1,
829
- -95, -122, -97, -136, -136, -13, -126, -127, -128, -80,
830
- -136, -17, -136, -136, -136, -136, -136, -136, -53, -50,
831
- -71, -70, -136, -77, -74, -136, -90, -87, -136, -136,
832
- -136, -102, -136, -136, -84, -136, -21, -26, -30, -33,
833
- -36, -51, -54, -72, -75, -88, -136, -56, -6, -123,
834
- -98, -99, -103, -119, -81, -136, -18, -136, -136, -136,
835
- -136, -136, -136, -136, -102, -101, -92, -118, -107, -136,
836
- -136, -85, -136, -22, -27, -136, -136, -136, -60, -57,
837
- -100, -136, -104, -134, -111, -112, -113, -136, -110, -82,
838
- -19, -31, -129, -131, -132, -34, -37, -55, -58, -61,
839
- -92, -136, -114, -105, -135, -108, -130, -60, -118, -92,
840
- -65, -136, -136, -134, -136, -116, -136, -59, -62, -63,
841
- -136, -136, -68, -136, -106, -115, -118, -136, -66, -117,
842
- -109, -64, -136, -118, -67 ]
823
+ -2, -138, -8, -138, -138, -3, -4, -138, 231, -138,
824
+ -9, -10, -11, -12, -138, -138, -138, -138, -138, -138,
825
+ -138, -24, -25, -138, -29, -138, -138, -138, -138, -138,
826
+ -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
827
+ -138, -7, -123, -96, -98, -138, -120, -122, -13, -127,
828
+ -94, -95, -126, -15, -85, -16, -17, -138, -21, -26,
829
+ -30, -33, -36, -39, -40, -41, -42, -43, -44, -50,
830
+ -138, -53, -71, -45, -75, -138, -78, -80, -81, -135,
831
+ -46, -88, -138, -91, -93, -47, -48, -49, -138, -138,
832
+ -5, -1, -97, -124, -99, -138, -138, -14, -128, -129,
833
+ -130, -82, -138, -18, -138, -138, -138, -138, -138, -138,
834
+ -54, -51, -73, -72, -138, -79, -76, -138, -92, -89,
835
+ -138, -138, -138, -138, -104, -138, -138, -86, -138, -22,
836
+ -27, -31, -34, -37, -52, -55, -74, -77, -90, -138,
837
+ -58, -62, -6, -125, -100, -101, -105, -121, -83, -138,
838
+ -19, -138, -138, -138, -138, -138, -138, -138, -57, -60,
839
+ -63, -104, -103, -94, -120, -109, -138, -138, -87, -138,
840
+ -23, -28, -138, -138, -138, -62, -59, -62, -120, -94,
841
+ -67, -138, -102, -138, -106, -136, -113, -114, -115, -138,
842
+ -112, -84, -20, -32, -131, -133, -134, -35, -38, -56,
843
+ -61, -64, -65, -138, -138, -70, -94, -138, -116, -107,
844
+ -137, -110, -132, -138, -68, -138, -136, -138, -118, -138,
845
+ -66, -138, -138, -108, -117, -120, -120, -119, -136, -69,
846
+ -111 ]
843
847
 
844
848
  racc_goto_table = [
845
- 93, 51, 73, 68, 116, 75, 108, 173, 193, 1,
846
- 188, 196, 2, 191, 117, 196, 196, 141, 4, 71,
847
- 41, 83, 83, 83, 83, 42, 79, 84, 85, 86,
848
- 52, 54, 55, 181, 185, 186, 89, 5, 214, 207,
849
- 109, 116, 205, 114, 213, 113, 75, 108, 135, 209,
850
- 170, 39, 217, 119, 10, 71, 71, 90, 11, 116,
851
- 12, 48, 95, 125, 162, 102, 147, 83, 83, 108,
852
- 103, 148, 104, 149, 105, 150, 106, 151, 131, 67,
853
- 72, 134, 110, 132, 75, 136, 113, 187, 211, 222,
854
- 123, 160, 100, 145, 71, 140, 71, 177, 206, 120,
855
- nil, nil, 83, nil, 83, nil, 113, nil, nil, nil,
856
- nil, nil, 172, 157, nil, nil, nil, nil, 71, nil,
857
- nil, nil, 83, nil, nil, nil, nil, nil, nil, nil,
858
- nil, 178, nil, nil, nil, nil, nil, nil, nil, nil,
859
- nil, nil, 157, 192, nil, nil, nil, nil, nil, nil,
860
- nil, nil, nil, 208, nil, nil, nil, nil, nil, nil,
861
- 198, nil, nil, nil, nil, nil, nil, nil, nil, nil,
862
- nil, 220, nil, 212, 192, nil, 215, nil, 224, 198,
863
- nil, nil, 192 ]
849
+ 76, 74, 69, 52, 209, 95, 110, 118, 119, 145,
850
+ 158, 1, 185, 2, 4, 212, 43, 42, 207, 212,
851
+ 212, 72, 91, 84, 84, 84, 84, 202, 80, 85,
852
+ 86, 87, 53, 55, 56, 223, 5, 40, 213, 111,
853
+ 115, 76, 116, 138, 199, 118, 182, 230, 110, 92,
854
+ 222, 193, 197, 198, 122, 10, 218, 72, 72, 11,
855
+ 12, 13, 49, 97, 118, 128, 169, 104, 151, 84,
856
+ 84, 110, 105, 152, 106, 153, 107, 154, 134, 108,
857
+ 76, 137, 115, 155, 68, 73, 112, 135, 139, 121,
858
+ 200, 204, 221, 126, 167, 102, 149, 72, 144, 72,
859
+ 189, 219, 123, 115, nil, 84, nil, 84, nil, nil,
860
+ nil, 164, nil, nil, nil, nil, nil, nil, nil, nil,
861
+ nil, nil, 72, 184, nil, 178, 84, nil, nil, nil,
862
+ nil, nil, 190, nil, nil, nil, nil, 201, nil, nil,
863
+ nil, nil, nil, nil, nil, nil, nil, 205, 164, 208,
864
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
865
+ nil, nil, nil, nil, nil, nil, 178, nil, nil, 208,
866
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
867
+ nil, 208, nil, 224, 228, 229 ]
864
868
 
865
869
  racc_goto_check = [
866
- 41, 34, 46, 32, 53, 40, 33, 42, 59, 1,
867
- 39, 63, 2, 43, 52, 63, 63, 58, 3, 34,
868
- 4, 34, 34, 34, 34, 54, 31, 31, 31, 31,
869
- 14, 14, 14, 20, 20, 20, 5, 6, 59, 39,
870
- 32, 53, 42, 46, 43, 40, 40, 33, 52, 42,
871
- 58, 7, 43, 8, 9, 34, 34, 54, 10, 53,
872
- 11, 12, 13, 15, 16, 17, 18, 34, 34, 33,
873
- 21, 22, 23, 24, 25, 26, 27, 28, 32, 29,
874
- 30, 46, 35, 36, 40, 37, 40, 38, 44, 45,
875
- 48, 49, 50, 51, 34, 57, 34, 60, 61, 62,
876
- nil, nil, 34, nil, 34, nil, 40, nil, nil, nil,
877
- nil, nil, 41, 40, nil, nil, nil, nil, 34, nil,
878
- nil, nil, 34, nil, nil, nil, nil, nil, nil, nil,
879
- nil, 40, nil, nil, nil, nil, nil, nil, nil, nil,
880
- nil, nil, 40, 40, nil, nil, nil, nil, nil, nil,
881
- nil, nil, nil, 41, nil, nil, nil, nil, nil, nil,
882
- 40, nil, nil, nil, nil, nil, nil, nil, nil, nil,
883
- nil, 41, nil, 40, 40, nil, 40, nil, 41, 40,
884
- nil, nil, 40 ]
870
+ 42, 48, 33, 35, 60, 43, 34, 55, 54, 59,
871
+ 39, 1, 44, 2, 3, 64, 56, 4, 45, 64,
872
+ 64, 35, 5, 35, 35, 35, 35, 44, 32, 32,
873
+ 32, 32, 15, 15, 15, 60, 6, 7, 45, 33,
874
+ 42, 42, 48, 54, 39, 55, 59, 60, 34, 56,
875
+ 45, 21, 21, 21, 8, 9, 44, 35, 35, 10,
876
+ 11, 12, 13, 14, 55, 16, 17, 18, 19, 35,
877
+ 35, 34, 22, 23, 24, 25, 26, 27, 33, 28,
878
+ 42, 48, 42, 29, 30, 31, 36, 37, 38, 40,
879
+ 41, 46, 47, 50, 51, 52, 53, 35, 58, 35,
880
+ 61, 62, 63, 42, nil, 35, nil, 35, nil, nil,
881
+ nil, 42, nil, nil, nil, nil, nil, nil, nil, nil,
882
+ nil, nil, 35, 43, nil, 42, 35, nil, nil, nil,
883
+ nil, nil, 42, nil, nil, nil, nil, 43, nil, nil,
884
+ nil, nil, nil, nil, nil, nil, nil, 42, 42, 42,
885
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
886
+ nil, nil, nil, nil, nil, nil, 42, nil, nil, 42,
887
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
888
+ nil, 42, nil, 42, 43, 43 ]
885
889
 
886
890
  racc_goto_pointer = [
887
- nil, 9, 12, 16, 11, -5, 35, 45, -35, 50,
888
- 54, 56, 47, 14, 15, -38, -82, 8, -60, nil,
889
- -132, 12, -56, 13, -55, 14, -54, 15, -53, 47,
890
- 47, -8, -29, -62, -13, 11, -27, -33, -81, -158,
891
- -28, -45, -150, -158, -112, -129, -31, nil, -9, -53,
892
- 39, -31, -67, -76, 16, nil, nil, -26, -104, -165,
893
- -61, -97, 8, -170 ]
891
+ nil, 11, 13, 12, 8, -20, 34, 31, -36, 51,
892
+ 55, 56, 57, 47, 14, 16, -38, -84, 9, -61,
893
+ nil, -121, 13, -57, 14, -56, 15, -55, 17, -50,
894
+ 51, 51, -7, -31, -63, -12, 14, -25, -32, -131,
895
+ 0, -87, -34, -41, -152, -165, -89, -122, -33, nil,
896
+ -8, -54, 41, -31, -74, -74, 7, nil, -26, -115,
897
+ -181, -65, -110, 9, -178 ]
894
898
 
895
899
  racc_goto_default = [
896
900
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
897
- 44, nil, nil, nil, nil, nil, nil, nil, nil, 23,
898
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
899
- nil, nil, nil, 70, 76, nil, nil, nil, nil, nil,
900
- 183, nil, nil, nil, nil, nil, nil, 77, nil, nil,
901
- nil, nil, 80, 82, nil, 43, 45, nil, nil, nil,
902
- nil, nil, nil, 182 ]
901
+ 45, nil, nil, nil, nil, nil, nil, nil, nil, nil,
902
+ 24, nil, nil, nil, nil, nil, nil, nil, nil, nil,
903
+ nil, nil, nil, nil, 71, 77, nil, nil, nil, nil,
904
+ 46, 159, 195, nil, nil, nil, nil, nil, nil, 78,
905
+ nil, nil, nil, nil, 81, 83, nil, 44, nil, nil,
906
+ nil, nil, nil, nil, 194 ]
903
907
 
904
908
  racc_reduce_table = [
905
909
  0, 0, :racc_error,
906
- 5, 54, :_reduce_none,
907
- 0, 55, :_reduce_none,
908
- 2, 55, :_reduce_none,
909
- 0, 60, :_reduce_4,
910
- 0, 61, :_reduce_5,
911
- 5, 59, :_reduce_6,
912
- 2, 59, :_reduce_none,
913
- 0, 56, :_reduce_8,
910
+ 5, 55, :_reduce_none,
911
+ 0, 56, :_reduce_none,
914
912
  2, 56, :_reduce_none,
915
- 1, 62, :_reduce_none,
916
- 1, 62, :_reduce_none,
917
- 2, 62, :_reduce_12,
918
- 3, 62, :_reduce_none,
919
- 2, 62, :_reduce_none,
920
- 2, 62, :_reduce_15,
921
- 2, 62, :_reduce_16,
922
- 0, 68, :_reduce_17,
923
- 0, 69, :_reduce_18,
924
- 7, 62, :_reduce_19,
925
- 0, 70, :_reduce_20,
926
- 0, 71, :_reduce_21,
927
- 6, 62, :_reduce_22,
928
- 1, 62, :_reduce_23,
929
- 1, 62, :_reduce_none,
930
- 0, 74, :_reduce_25,
931
- 0, 75, :_reduce_26,
932
- 6, 63, :_reduce_27,
933
- 1, 63, :_reduce_none,
934
- 0, 76, :_reduce_29,
935
- 0, 77, :_reduce_30,
936
- 7, 63, :_reduce_31,
937
- 0, 78, :_reduce_32,
938
- 0, 79, :_reduce_33,
939
- 7, 63, :_reduce_34,
940
- 0, 80, :_reduce_35,
941
- 0, 81, :_reduce_36,
942
- 7, 63, :_reduce_37,
943
- 2, 63, :_reduce_38,
944
- 2, 63, :_reduce_39,
945
- 2, 63, :_reduce_40,
946
- 2, 63, :_reduce_41,
947
- 2, 63, :_reduce_42,
948
- 2, 72, :_reduce_none,
949
- 2, 72, :_reduce_44,
950
- 2, 72, :_reduce_45,
951
- 2, 72, :_reduce_46,
952
- 2, 72, :_reduce_47,
953
- 2, 72, :_reduce_48,
954
- 1, 82, :_reduce_49,
955
- 2, 82, :_reduce_50,
956
- 3, 82, :_reduce_51,
957
- 1, 85, :_reduce_52,
958
- 2, 85, :_reduce_53,
959
- 3, 86, :_reduce_54,
960
- 7, 64, :_reduce_55,
961
- 1, 90, :_reduce_56,
962
- 3, 90, :_reduce_57,
963
- 1, 91, :_reduce_58,
964
- 3, 91, :_reduce_59,
965
- 0, 92, :_reduce_60,
966
- 1, 92, :_reduce_61,
967
- 3, 92, :_reduce_62,
968
- 3, 92, :_reduce_63,
969
- 5, 92, :_reduce_64,
970
- 0, 97, :_reduce_65,
971
- 0, 98, :_reduce_66,
972
- 7, 92, :_reduce_67,
973
- 3, 92, :_reduce_68,
974
- 0, 88, :_reduce_none,
975
- 1, 88, :_reduce_none,
976
- 0, 89, :_reduce_none,
977
- 1, 89, :_reduce_none,
978
- 1, 83, :_reduce_73,
979
- 2, 83, :_reduce_74,
980
- 3, 83, :_reduce_75,
981
- 1, 99, :_reduce_76,
982
- 2, 99, :_reduce_77,
983
- 1, 93, :_reduce_none,
984
- 1, 93, :_reduce_none,
985
- 0, 101, :_reduce_80,
986
- 0, 102, :_reduce_81,
987
- 6, 67, :_reduce_82,
988
- 0, 103, :_reduce_83,
989
- 0, 104, :_reduce_84,
990
- 5, 67, :_reduce_85,
991
- 1, 84, :_reduce_86,
992
- 2, 84, :_reduce_87,
993
- 3, 84, :_reduce_88,
994
- 1, 105, :_reduce_89,
995
- 2, 105, :_reduce_90,
996
- 1, 106, :_reduce_none,
997
- 1, 87, :_reduce_92,
998
- 1, 87, :_reduce_93,
999
- 1, 57, :_reduce_none,
913
+ 0, 61, :_reduce_4,
914
+ 0, 62, :_reduce_5,
915
+ 5, 60, :_reduce_6,
916
+ 2, 60, :_reduce_none,
917
+ 0, 57, :_reduce_8,
1000
918
  2, 57, :_reduce_none,
1001
- 1, 107, :_reduce_none,
1002
- 2, 107, :_reduce_none,
1003
- 4, 108, :_reduce_98,
1004
- 1, 110, :_reduce_99,
1005
- 3, 110, :_reduce_100,
1006
- 2, 110, :_reduce_none,
1007
- 0, 111, :_reduce_102,
1008
- 1, 111, :_reduce_103,
1009
- 3, 111, :_reduce_104,
1010
- 4, 111, :_reduce_105,
1011
- 6, 111, :_reduce_106,
1012
- 0, 113, :_reduce_107,
1013
- 0, 114, :_reduce_108,
1014
- 7, 111, :_reduce_109,
1015
- 3, 111, :_reduce_110,
1016
- 1, 95, :_reduce_111,
1017
- 1, 95, :_reduce_112,
1018
- 1, 95, :_reduce_113,
1019
- 1, 96, :_reduce_114,
1020
- 3, 96, :_reduce_115,
1021
- 2, 96, :_reduce_116,
1022
- 4, 96, :_reduce_117,
1023
- 0, 94, :_reduce_none,
1024
- 3, 94, :_reduce_119,
919
+ 1, 63, :_reduce_none,
920
+ 1, 63, :_reduce_none,
921
+ 1, 63, :_reduce_none,
922
+ 2, 63, :_reduce_13,
923
+ 3, 63, :_reduce_none,
924
+ 2, 63, :_reduce_none,
925
+ 2, 63, :_reduce_16,
926
+ 2, 63, :_reduce_17,
927
+ 0, 70, :_reduce_18,
928
+ 0, 71, :_reduce_19,
929
+ 7, 63, :_reduce_20,
930
+ 0, 72, :_reduce_21,
931
+ 0, 73, :_reduce_22,
932
+ 6, 63, :_reduce_23,
933
+ 1, 63, :_reduce_24,
934
+ 1, 63, :_reduce_none,
935
+ 0, 76, :_reduce_26,
936
+ 0, 77, :_reduce_27,
937
+ 6, 64, :_reduce_28,
938
+ 1, 64, :_reduce_none,
939
+ 0, 78, :_reduce_30,
940
+ 0, 79, :_reduce_31,
941
+ 7, 64, :_reduce_32,
942
+ 0, 80, :_reduce_33,
943
+ 0, 81, :_reduce_34,
944
+ 7, 64, :_reduce_35,
945
+ 0, 82, :_reduce_36,
946
+ 0, 83, :_reduce_37,
947
+ 7, 64, :_reduce_38,
948
+ 2, 64, :_reduce_39,
949
+ 2, 64, :_reduce_40,
950
+ 2, 64, :_reduce_41,
951
+ 2, 64, :_reduce_42,
952
+ 2, 64, :_reduce_43,
953
+ 2, 74, :_reduce_none,
954
+ 2, 74, :_reduce_45,
955
+ 2, 74, :_reduce_46,
956
+ 2, 74, :_reduce_47,
957
+ 2, 74, :_reduce_48,
958
+ 2, 74, :_reduce_49,
959
+ 1, 84, :_reduce_50,
960
+ 2, 84, :_reduce_51,
961
+ 3, 84, :_reduce_52,
962
+ 1, 87, :_reduce_53,
963
+ 2, 87, :_reduce_54,
964
+ 3, 88, :_reduce_55,
965
+ 7, 65, :_reduce_56,
966
+ 5, 66, :_reduce_57,
967
+ 1, 92, :_reduce_58,
968
+ 3, 92, :_reduce_59,
969
+ 1, 93, :_reduce_60,
970
+ 3, 93, :_reduce_61,
971
+ 0, 95, :_reduce_62,
972
+ 1, 95, :_reduce_63,
973
+ 3, 95, :_reduce_64,
974
+ 3, 95, :_reduce_65,
975
+ 5, 95, :_reduce_66,
976
+ 0, 100, :_reduce_67,
977
+ 0, 101, :_reduce_68,
978
+ 7, 95, :_reduce_69,
979
+ 3, 95, :_reduce_70,
980
+ 0, 90, :_reduce_none,
981
+ 1, 90, :_reduce_none,
982
+ 0, 91, :_reduce_none,
983
+ 1, 91, :_reduce_none,
984
+ 1, 85, :_reduce_75,
985
+ 2, 85, :_reduce_76,
986
+ 3, 85, :_reduce_77,
987
+ 1, 102, :_reduce_78,
988
+ 2, 102, :_reduce_79,
989
+ 1, 96, :_reduce_none,
990
+ 1, 96, :_reduce_none,
991
+ 0, 104, :_reduce_82,
992
+ 0, 105, :_reduce_83,
993
+ 6, 69, :_reduce_84,
994
+ 0, 106, :_reduce_85,
995
+ 0, 107, :_reduce_86,
996
+ 5, 69, :_reduce_87,
997
+ 1, 86, :_reduce_88,
998
+ 2, 86, :_reduce_89,
999
+ 3, 86, :_reduce_90,
1000
+ 1, 108, :_reduce_91,
1001
+ 2, 108, :_reduce_92,
1025
1002
  1, 109, :_reduce_none,
1026
- 0, 58, :_reduce_none,
1027
- 0, 115, :_reduce_122,
1028
- 3, 58, :_reduce_123,
1029
- 1, 65, :_reduce_none,
1030
- 0, 66, :_reduce_none,
1031
- 1, 66, :_reduce_none,
1032
- 1, 66, :_reduce_none,
1033
- 1, 66, :_reduce_none,
1034
- 1, 73, :_reduce_129,
1035
- 2, 73, :_reduce_130,
1036
- 1, 116, :_reduce_none,
1037
- 1, 116, :_reduce_none,
1038
- 1, 100, :_reduce_133,
1039
- 0, 112, :_reduce_none,
1040
- 1, 112, :_reduce_none ]
1041
-
1042
- racc_reduce_n = 136
1043
-
1044
- racc_shift_n = 225
1003
+ 1, 89, :_reduce_94,
1004
+ 1, 89, :_reduce_95,
1005
+ 1, 58, :_reduce_none,
1006
+ 2, 58, :_reduce_none,
1007
+ 1, 110, :_reduce_none,
1008
+ 2, 110, :_reduce_none,
1009
+ 4, 111, :_reduce_100,
1010
+ 1, 112, :_reduce_101,
1011
+ 3, 112, :_reduce_102,
1012
+ 2, 112, :_reduce_none,
1013
+ 0, 113, :_reduce_104,
1014
+ 1, 113, :_reduce_105,
1015
+ 3, 113, :_reduce_106,
1016
+ 4, 113, :_reduce_107,
1017
+ 6, 113, :_reduce_108,
1018
+ 0, 115, :_reduce_109,
1019
+ 0, 116, :_reduce_110,
1020
+ 8, 113, :_reduce_111,
1021
+ 3, 113, :_reduce_112,
1022
+ 1, 98, :_reduce_113,
1023
+ 1, 98, :_reduce_114,
1024
+ 1, 98, :_reduce_115,
1025
+ 1, 99, :_reduce_116,
1026
+ 3, 99, :_reduce_117,
1027
+ 2, 99, :_reduce_118,
1028
+ 4, 99, :_reduce_119,
1029
+ 0, 97, :_reduce_none,
1030
+ 3, 97, :_reduce_121,
1031
+ 1, 94, :_reduce_none,
1032
+ 0, 59, :_reduce_none,
1033
+ 0, 117, :_reduce_124,
1034
+ 3, 59, :_reduce_125,
1035
+ 1, 67, :_reduce_none,
1036
+ 0, 68, :_reduce_none,
1037
+ 1, 68, :_reduce_none,
1038
+ 1, 68, :_reduce_none,
1039
+ 1, 68, :_reduce_none,
1040
+ 1, 75, :_reduce_131,
1041
+ 2, 75, :_reduce_132,
1042
+ 1, 118, :_reduce_none,
1043
+ 1, 118, :_reduce_none,
1044
+ 1, 103, :_reduce_135,
1045
+ 0, 114, :_reduce_none,
1046
+ 1, 114, :_reduce_none ]
1047
+
1048
+ racc_reduce_n = 138
1049
+
1050
+ racc_shift_n = 231
1045
1051
 
1046
1052
  racc_token_table = {
1047
1053
  false => 0,
@@ -1087,18 +1093,19 @@ racc_token_table = {
1087
1093
  "(" => 40,
1088
1094
  ")" => 41,
1089
1095
  ":" => 42,
1090
- "," => 43,
1091
- "|" => 44,
1092
- "%empty" => 45,
1093
- "%prec" => 46,
1094
- "?" => 47,
1095
- "+" => 48,
1096
- "*" => 49,
1097
- "[" => 50,
1098
- "]" => 51,
1099
- "{...}" => 52 }
1100
-
1101
- racc_nt_base = 53
1096
+ "%inline" => 43,
1097
+ "," => 44,
1098
+ "|" => 45,
1099
+ "%empty" => 46,
1100
+ "%prec" => 47,
1101
+ "?" => 48,
1102
+ "+" => 49,
1103
+ "*" => 50,
1104
+ "[" => 51,
1105
+ "]" => 52,
1106
+ "{...}" => 53 }
1107
+
1108
+ racc_nt_base = 54
1102
1109
 
1103
1110
  racc_use_result_var = true
1104
1111
 
@@ -1163,6 +1170,7 @@ Racc_token_to_s_table = [
1163
1170
  "\"(\"",
1164
1171
  "\")\"",
1165
1172
  "\":\"",
1173
+ "\"%inline\"",
1166
1174
  "\",\"",
1167
1175
  "\"|\"",
1168
1176
  "\"%empty\"",
@@ -1185,6 +1193,7 @@ Racc_token_to_s_table = [
1185
1193
  "bison_declaration",
1186
1194
  "grammar_declaration",
1187
1195
  "rule_declaration",
1196
+ "inline_declaration",
1188
1197
  "variable",
1189
1198
  "value",
1190
1199
  "params",
@@ -1212,6 +1221,7 @@ Racc_token_to_s_table = [
1212
1221
  "alias",
1213
1222
  "rule_args",
1214
1223
  "rule_rhs_list",
1224
+ "id_colon",
1215
1225
  "rule_rhs",
1216
1226
  "symbol",
1217
1227
  "named_ref_opt",
@@ -1229,7 +1239,6 @@ Racc_token_to_s_table = [
1229
1239
  "token_declaration_for_precedence",
1230
1240
  "rules_or_grammar_declaration",
1231
1241
  "rules",
1232
- "id_colon",
1233
1242
  "rhs_list",
1234
1243
  "rhs",
1235
1244
  "tag_opt",
@@ -1291,19 +1300,21 @@ module_eval(<<'.,.,', 'parser.y', 27)
1291
1300
 
1292
1301
  # reduce 11 omitted
1293
1302
 
1294
- module_eval(<<'.,.,', 'parser.y', 32)
1295
- def _reduce_12(val, _values, result)
1303
+ # reduce 12 omitted
1304
+
1305
+ module_eval(<<'.,.,', 'parser.y', 33)
1306
+ def _reduce_13(val, _values, result)
1296
1307
  @grammar.expect = val[1]
1297
1308
  result
1298
1309
  end
1299
1310
  .,.,
1300
1311
 
1301
- # reduce 13 omitted
1302
-
1303
1312
  # reduce 14 omitted
1304
1313
 
1305
- module_eval(<<'.,.,', 'parser.y', 37)
1306
- def _reduce_15(val, _values, result)
1314
+ # reduce 15 omitted
1315
+
1316
+ module_eval(<<'.,.,', 'parser.y', 38)
1317
+ def _reduce_16(val, _values, result)
1307
1318
  val[1].each {|token|
1308
1319
  @grammar.lex_param = Grammar::Code::NoReferenceCode.new(type: :lex_param, token_code: token).token_code.s_value
1309
1320
  }
@@ -1312,8 +1323,8 @@ module_eval(<<'.,.,', 'parser.y', 37)
1312
1323
  end
1313
1324
  .,.,
1314
1325
 
1315
- module_eval(<<'.,.,', 'parser.y', 43)
1316
- def _reduce_16(val, _values, result)
1326
+ module_eval(<<'.,.,', 'parser.y', 44)
1327
+ def _reduce_17(val, _values, result)
1317
1328
  val[1].each {|token|
1318
1329
  @grammar.parse_param = Grammar::Code::NoReferenceCode.new(type: :parse_param, token_code: token).token_code.s_value
1319
1330
  }
@@ -1322,81 +1333,81 @@ module_eval(<<'.,.,', 'parser.y', 43)
1322
1333
  end
1323
1334
  .,.,
1324
1335
 
1325
- module_eval(<<'.,.,', 'parser.y', 49)
1326
- def _reduce_17(val, _values, result)
1336
+ module_eval(<<'.,.,', 'parser.y', 50)
1337
+ def _reduce_18(val, _values, result)
1327
1338
  begin_c_declaration("}")
1328
1339
 
1329
1340
  result
1330
1341
  end
1331
1342
  .,.,
1332
1343
 
1333
- module_eval(<<'.,.,', 'parser.y', 53)
1334
- def _reduce_18(val, _values, result)
1344
+ module_eval(<<'.,.,', 'parser.y', 54)
1345
+ def _reduce_19(val, _values, result)
1335
1346
  end_c_declaration
1336
1347
 
1337
1348
  result
1338
1349
  end
1339
1350
  .,.,
1340
1351
 
1341
- module_eval(<<'.,.,', 'parser.y', 57)
1342
- def _reduce_19(val, _values, result)
1352
+ module_eval(<<'.,.,', 'parser.y', 58)
1353
+ def _reduce_20(val, _values, result)
1343
1354
  @grammar.add_percent_code(id: val[1], code: val[4])
1344
1355
 
1345
1356
  result
1346
1357
  end
1347
1358
  .,.,
1348
1359
 
1349
- module_eval(<<'.,.,', 'parser.y', 61)
1350
- def _reduce_20(val, _values, result)
1360
+ module_eval(<<'.,.,', 'parser.y', 62)
1361
+ def _reduce_21(val, _values, result)
1351
1362
  begin_c_declaration("}")
1352
1363
 
1353
1364
  result
1354
1365
  end
1355
1366
  .,.,
1356
1367
 
1357
- module_eval(<<'.,.,', 'parser.y', 65)
1358
- def _reduce_21(val, _values, result)
1368
+ module_eval(<<'.,.,', 'parser.y', 66)
1369
+ def _reduce_22(val, _values, result)
1359
1370
  end_c_declaration
1360
1371
 
1361
1372
  result
1362
1373
  end
1363
1374
  .,.,
1364
1375
 
1365
- module_eval(<<'.,.,', 'parser.y', 69)
1366
- def _reduce_22(val, _values, result)
1376
+ module_eval(<<'.,.,', 'parser.y', 70)
1377
+ def _reduce_23(val, _values, result)
1367
1378
  @grammar.initial_action = Grammar::Code::InitialActionCode.new(type: :initial_action, token_code: val[3])
1368
1379
 
1369
1380
  result
1370
1381
  end
1371
1382
  .,.,
1372
1383
 
1373
- module_eval(<<'.,.,', 'parser.y', 71)
1374
- def _reduce_23(val, _values, result)
1384
+ module_eval(<<'.,.,', 'parser.y', 72)
1385
+ def _reduce_24(val, _values, result)
1375
1386
  @grammar.no_stdlib = true
1376
1387
  result
1377
1388
  end
1378
1389
  .,.,
1379
1390
 
1380
- # reduce 24 omitted
1391
+ # reduce 25 omitted
1381
1392
 
1382
- module_eval(<<'.,.,', 'parser.y', 76)
1383
- def _reduce_25(val, _values, result)
1393
+ module_eval(<<'.,.,', 'parser.y', 77)
1394
+ def _reduce_26(val, _values, result)
1384
1395
  begin_c_declaration("}")
1385
1396
 
1386
1397
  result
1387
1398
  end
1388
1399
  .,.,
1389
1400
 
1390
- module_eval(<<'.,.,', 'parser.y', 80)
1391
- def _reduce_26(val, _values, result)
1401
+ module_eval(<<'.,.,', 'parser.y', 81)
1402
+ def _reduce_27(val, _values, result)
1392
1403
  end_c_declaration
1393
1404
 
1394
1405
  result
1395
1406
  end
1396
1407
  .,.,
1397
1408
 
1398
- module_eval(<<'.,.,', 'parser.y', 84)
1399
- def _reduce_27(val, _values, result)
1409
+ module_eval(<<'.,.,', 'parser.y', 85)
1410
+ def _reduce_28(val, _values, result)
1400
1411
  @grammar.set_union(
1401
1412
  Grammar::Code::NoReferenceCode.new(type: :union, token_code: val[3]),
1402
1413
  val[3].line
@@ -1406,26 +1417,26 @@ module_eval(<<'.,.,', 'parser.y', 84)
1406
1417
  end
1407
1418
  .,.,
1408
1419
 
1409
- # reduce 28 omitted
1420
+ # reduce 29 omitted
1410
1421
 
1411
- module_eval(<<'.,.,', 'parser.y', 92)
1412
- def _reduce_29(val, _values, result)
1422
+ module_eval(<<'.,.,', 'parser.y', 93)
1423
+ def _reduce_30(val, _values, result)
1413
1424
  begin_c_declaration("}")
1414
1425
 
1415
1426
  result
1416
1427
  end
1417
1428
  .,.,
1418
1429
 
1419
- module_eval(<<'.,.,', 'parser.y', 96)
1420
- def _reduce_30(val, _values, result)
1430
+ module_eval(<<'.,.,', 'parser.y', 97)
1431
+ def _reduce_31(val, _values, result)
1421
1432
  end_c_declaration
1422
1433
 
1423
1434
  result
1424
1435
  end
1425
1436
  .,.,
1426
1437
 
1427
- module_eval(<<'.,.,', 'parser.y', 100)
1428
- def _reduce_31(val, _values, result)
1438
+ module_eval(<<'.,.,', 'parser.y', 101)
1439
+ def _reduce_32(val, _values, result)
1429
1440
  @grammar.add_destructor(
1430
1441
  ident_or_tags: val[6],
1431
1442
  token_code: val[3],
@@ -1436,24 +1447,24 @@ module_eval(<<'.,.,', 'parser.y', 100)
1436
1447
  end
1437
1448
  .,.,
1438
1449
 
1439
- module_eval(<<'.,.,', 'parser.y', 108)
1440
- def _reduce_32(val, _values, result)
1450
+ module_eval(<<'.,.,', 'parser.y', 109)
1451
+ def _reduce_33(val, _values, result)
1441
1452
  begin_c_declaration("}")
1442
1453
 
1443
1454
  result
1444
1455
  end
1445
1456
  .,.,
1446
1457
 
1447
- module_eval(<<'.,.,', 'parser.y', 112)
1448
- def _reduce_33(val, _values, result)
1458
+ module_eval(<<'.,.,', 'parser.y', 113)
1459
+ def _reduce_34(val, _values, result)
1449
1460
  end_c_declaration
1450
1461
 
1451
1462
  result
1452
1463
  end
1453
1464
  .,.,
1454
1465
 
1455
- module_eval(<<'.,.,', 'parser.y', 116)
1456
- def _reduce_34(val, _values, result)
1466
+ module_eval(<<'.,.,', 'parser.y', 117)
1467
+ def _reduce_35(val, _values, result)
1457
1468
  @grammar.add_printer(
1458
1469
  ident_or_tags: val[6],
1459
1470
  token_code: val[3],
@@ -1464,24 +1475,24 @@ module_eval(<<'.,.,', 'parser.y', 116)
1464
1475
  end
1465
1476
  .,.,
1466
1477
 
1467
- module_eval(<<'.,.,', 'parser.y', 124)
1468
- def _reduce_35(val, _values, result)
1478
+ module_eval(<<'.,.,', 'parser.y', 125)
1479
+ def _reduce_36(val, _values, result)
1469
1480
  begin_c_declaration("}")
1470
1481
 
1471
1482
  result
1472
1483
  end
1473
1484
  .,.,
1474
1485
 
1475
- module_eval(<<'.,.,', 'parser.y', 128)
1476
- def _reduce_36(val, _values, result)
1486
+ module_eval(<<'.,.,', 'parser.y', 129)
1487
+ def _reduce_37(val, _values, result)
1477
1488
  end_c_declaration
1478
1489
 
1479
1490
  result
1480
1491
  end
1481
1492
  .,.,
1482
1493
 
1483
- module_eval(<<'.,.,', 'parser.y', 132)
1484
- def _reduce_37(val, _values, result)
1494
+ module_eval(<<'.,.,', 'parser.y', 133)
1495
+ def _reduce_38(val, _values, result)
1485
1496
  @grammar.add_error_token(
1486
1497
  ident_or_tags: val[6],
1487
1498
  token_code: val[3],
@@ -1492,50 +1503,50 @@ module_eval(<<'.,.,', 'parser.y', 132)
1492
1503
  end
1493
1504
  .,.,
1494
1505
 
1495
- module_eval(<<'.,.,', 'parser.y', 140)
1496
- def _reduce_38(val, _values, result)
1506
+ module_eval(<<'.,.,', 'parser.y', 141)
1507
+ def _reduce_39(val, _values, result)
1497
1508
  @grammar.after_shift = val[1]
1498
1509
 
1499
1510
  result
1500
1511
  end
1501
1512
  .,.,
1502
1513
 
1503
- module_eval(<<'.,.,', 'parser.y', 144)
1504
- def _reduce_39(val, _values, result)
1514
+ module_eval(<<'.,.,', 'parser.y', 145)
1515
+ def _reduce_40(val, _values, result)
1505
1516
  @grammar.before_reduce = val[1]
1506
1517
 
1507
1518
  result
1508
1519
  end
1509
1520
  .,.,
1510
1521
 
1511
- module_eval(<<'.,.,', 'parser.y', 148)
1512
- def _reduce_40(val, _values, result)
1522
+ module_eval(<<'.,.,', 'parser.y', 149)
1523
+ def _reduce_41(val, _values, result)
1513
1524
  @grammar.after_reduce = val[1]
1514
1525
 
1515
1526
  result
1516
1527
  end
1517
1528
  .,.,
1518
1529
 
1519
- module_eval(<<'.,.,', 'parser.y', 152)
1520
- def _reduce_41(val, _values, result)
1530
+ module_eval(<<'.,.,', 'parser.y', 153)
1531
+ def _reduce_42(val, _values, result)
1521
1532
  @grammar.after_shift_error_token = val[1]
1522
1533
 
1523
1534
  result
1524
1535
  end
1525
1536
  .,.,
1526
1537
 
1527
- module_eval(<<'.,.,', 'parser.y', 156)
1528
- def _reduce_42(val, _values, result)
1538
+ module_eval(<<'.,.,', 'parser.y', 157)
1539
+ def _reduce_43(val, _values, result)
1529
1540
  @grammar.after_pop_stack = val[1]
1530
1541
 
1531
1542
  result
1532
1543
  end
1533
1544
  .,.,
1534
1545
 
1535
- # reduce 43 omitted
1546
+ # reduce 44 omitted
1536
1547
 
1537
- module_eval(<<'.,.,', 'parser.y', 162)
1538
- def _reduce_44(val, _values, result)
1548
+ module_eval(<<'.,.,', 'parser.y', 163)
1549
+ def _reduce_45(val, _values, result)
1539
1550
  val[1].each {|hash|
1540
1551
  hash[:tokens].each {|id|
1541
1552
  @grammar.add_type(id: id, tag: hash[:tag])
@@ -1546,8 +1557,8 @@ module_eval(<<'.,.,', 'parser.y', 162)
1546
1557
  end
1547
1558
  .,.,
1548
1559
 
1549
- module_eval(<<'.,.,', 'parser.y', 170)
1550
- def _reduce_45(val, _values, result)
1560
+ module_eval(<<'.,.,', 'parser.y', 171)
1561
+ def _reduce_46(val, _values, result)
1551
1562
  val[1].each {|hash|
1552
1563
  hash[:tokens].each {|id|
1553
1564
  sym = @grammar.add_term(id: id)
@@ -1560,8 +1571,8 @@ module_eval(<<'.,.,', 'parser.y', 170)
1560
1571
  end
1561
1572
  .,.,
1562
1573
 
1563
- module_eval(<<'.,.,', 'parser.y', 180)
1564
- def _reduce_46(val, _values, result)
1574
+ module_eval(<<'.,.,', 'parser.y', 181)
1575
+ def _reduce_47(val, _values, result)
1565
1576
  val[1].each {|hash|
1566
1577
  hash[:tokens].each {|id|
1567
1578
  sym = @grammar.add_term(id: id)
@@ -1574,8 +1585,8 @@ module_eval(<<'.,.,', 'parser.y', 180)
1574
1585
  end
1575
1586
  .,.,
1576
1587
 
1577
- module_eval(<<'.,.,', 'parser.y', 190)
1578
- def _reduce_47(val, _values, result)
1588
+ module_eval(<<'.,.,', 'parser.y', 191)
1589
+ def _reduce_48(val, _values, result)
1579
1590
  val[1].each {|hash|
1580
1591
  hash[:tokens].each {|id|
1581
1592
  sym = @grammar.add_term(id: id)
@@ -1588,8 +1599,8 @@ module_eval(<<'.,.,', 'parser.y', 190)
1588
1599
  end
1589
1600
  .,.,
1590
1601
 
1591
- module_eval(<<'.,.,', 'parser.y', 200)
1592
- def _reduce_48(val, _values, result)
1602
+ module_eval(<<'.,.,', 'parser.y', 201)
1603
+ def _reduce_49(val, _values, result)
1593
1604
  val[1].each {|hash|
1594
1605
  hash[:tokens].each {|id|
1595
1606
  sym = @grammar.add_term(id: id)
@@ -1602,8 +1613,8 @@ module_eval(<<'.,.,', 'parser.y', 200)
1602
1613
  end
1603
1614
  .,.,
1604
1615
 
1605
- module_eval(<<'.,.,', 'parser.y', 211)
1606
- def _reduce_49(val, _values, result)
1616
+ module_eval(<<'.,.,', 'parser.y', 212)
1617
+ def _reduce_50(val, _values, result)
1607
1618
  val[0].each {|token_declaration|
1608
1619
  @grammar.add_term(id: token_declaration[0], alias_name: token_declaration[2], token_id: token_declaration[1], tag: nil, replace: true)
1609
1620
  }
@@ -1612,8 +1623,8 @@ module_eval(<<'.,.,', 'parser.y', 211)
1612
1623
  end
1613
1624
  .,.,
1614
1625
 
1615
- module_eval(<<'.,.,', 'parser.y', 217)
1616
- def _reduce_50(val, _values, result)
1626
+ module_eval(<<'.,.,', 'parser.y', 218)
1627
+ def _reduce_51(val, _values, result)
1617
1628
  val[1].each {|token_declaration|
1618
1629
  @grammar.add_term(id: token_declaration[0], alias_name: token_declaration[2], token_id: token_declaration[1], tag: val[0], replace: true)
1619
1630
  }
@@ -1622,8 +1633,8 @@ module_eval(<<'.,.,', 'parser.y', 217)
1622
1633
  end
1623
1634
  .,.,
1624
1635
 
1625
- module_eval(<<'.,.,', 'parser.y', 223)
1626
- def _reduce_51(val, _values, result)
1636
+ module_eval(<<'.,.,', 'parser.y', 224)
1637
+ def _reduce_52(val, _values, result)
1627
1638
  val[2].each {|token_declaration|
1628
1639
  @grammar.add_term(id: token_declaration[0], alias_name: token_declaration[2], token_id: token_declaration[1], tag: val[1], replace: true)
1629
1640
  }
@@ -1632,29 +1643,29 @@ module_eval(<<'.,.,', 'parser.y', 223)
1632
1643
  end
1633
1644
  .,.,
1634
1645
 
1635
- module_eval(<<'.,.,', 'parser.y', 228)
1636
- def _reduce_52(val, _values, result)
1646
+ module_eval(<<'.,.,', 'parser.y', 229)
1647
+ def _reduce_53(val, _values, result)
1637
1648
  result = [val[0]]
1638
1649
  result
1639
1650
  end
1640
1651
  .,.,
1641
1652
 
1642
- module_eval(<<'.,.,', 'parser.y', 229)
1643
- def _reduce_53(val, _values, result)
1653
+ module_eval(<<'.,.,', 'parser.y', 230)
1654
+ def _reduce_54(val, _values, result)
1644
1655
  result = val[0].append(val[1])
1645
1656
  result
1646
1657
  end
1647
1658
  .,.,
1648
1659
 
1649
- module_eval(<<'.,.,', 'parser.y', 231)
1650
- def _reduce_54(val, _values, result)
1660
+ module_eval(<<'.,.,', 'parser.y', 232)
1661
+ def _reduce_55(val, _values, result)
1651
1662
  result = val
1652
1663
  result
1653
1664
  end
1654
1665
  .,.,
1655
1666
 
1656
- module_eval(<<'.,.,', 'parser.y', 235)
1657
- def _reduce_55(val, _values, result)
1667
+ module_eval(<<'.,.,', 'parser.y', 236)
1668
+ def _reduce_56(val, _values, result)
1658
1669
  rule = Grammar::ParameterizingRule::Rule.new(val[1].s_value, val[3], val[6])
1659
1670
  @grammar.add_parameterizing_rule(rule)
1660
1671
 
@@ -1662,22 +1673,31 @@ module_eval(<<'.,.,', 'parser.y', 235)
1662
1673
  end
1663
1674
  .,.,
1664
1675
 
1665
- module_eval(<<'.,.,', 'parser.y', 239)
1666
- def _reduce_56(val, _values, result)
1676
+ module_eval(<<'.,.,', 'parser.y', 242)
1677
+ def _reduce_57(val, _values, result)
1678
+ rule = Grammar::ParameterizingRule::Rule.new(val[2].s_value, [], val[4], is_inline: true)
1679
+ @grammar.add_parameterizing_rule(rule)
1680
+
1681
+ result
1682
+ end
1683
+ .,.,
1684
+
1685
+ module_eval(<<'.,.,', 'parser.y', 246)
1686
+ def _reduce_58(val, _values, result)
1667
1687
  result = [val[0]]
1668
1688
  result
1669
1689
  end
1670
1690
  .,.,
1671
1691
 
1672
- module_eval(<<'.,.,', 'parser.y', 240)
1673
- def _reduce_57(val, _values, result)
1692
+ module_eval(<<'.,.,', 'parser.y', 247)
1693
+ def _reduce_59(val, _values, result)
1674
1694
  result = val[0].append(val[2])
1675
1695
  result
1676
1696
  end
1677
1697
  .,.,
1678
1698
 
1679
- module_eval(<<'.,.,', 'parser.y', 244)
1680
- def _reduce_58(val, _values, result)
1699
+ module_eval(<<'.,.,', 'parser.y', 251)
1700
+ def _reduce_60(val, _values, result)
1681
1701
  builder = val[0]
1682
1702
  result = [builder]
1683
1703
 
@@ -1685,8 +1705,8 @@ module_eval(<<'.,.,', 'parser.y', 244)
1685
1705
  end
1686
1706
  .,.,
1687
1707
 
1688
- module_eval(<<'.,.,', 'parser.y', 249)
1689
- def _reduce_59(val, _values, result)
1708
+ module_eval(<<'.,.,', 'parser.y', 256)
1709
+ def _reduce_61(val, _values, result)
1690
1710
  builder = val[2]
1691
1711
  result = val[0].append(builder)
1692
1712
 
@@ -1694,8 +1714,8 @@ module_eval(<<'.,.,', 'parser.y', 249)
1694
1714
  end
1695
1715
  .,.,
1696
1716
 
1697
- module_eval(<<'.,.,', 'parser.y', 255)
1698
- def _reduce_60(val, _values, result)
1717
+ module_eval(<<'.,.,', 'parser.y', 262)
1718
+ def _reduce_62(val, _values, result)
1699
1719
  reset_precs
1700
1720
  result = Grammar::ParameterizingRule::Rhs.new
1701
1721
 
@@ -1703,8 +1723,8 @@ module_eval(<<'.,.,', 'parser.y', 255)
1703
1723
  end
1704
1724
  .,.,
1705
1725
 
1706
- module_eval(<<'.,.,', 'parser.y', 260)
1707
- def _reduce_61(val, _values, result)
1726
+ module_eval(<<'.,.,', 'parser.y', 267)
1727
+ def _reduce_63(val, _values, result)
1708
1728
  reset_precs
1709
1729
  result = Grammar::ParameterizingRule::Rhs.new
1710
1730
 
@@ -1712,8 +1732,8 @@ module_eval(<<'.,.,', 'parser.y', 260)
1712
1732
  end
1713
1733
  .,.,
1714
1734
 
1715
- module_eval(<<'.,.,', 'parser.y', 265)
1716
- def _reduce_62(val, _values, result)
1735
+ module_eval(<<'.,.,', 'parser.y', 272)
1736
+ def _reduce_64(val, _values, result)
1717
1737
  token = val[1]
1718
1738
  token.alias_name = val[2]
1719
1739
  builder = val[0]
@@ -1724,8 +1744,8 @@ module_eval(<<'.,.,', 'parser.y', 265)
1724
1744
  end
1725
1745
  .,.,
1726
1746
 
1727
- module_eval(<<'.,.,', 'parser.y', 273)
1728
- def _reduce_63(val, _values, result)
1747
+ module_eval(<<'.,.,', 'parser.y', 280)
1748
+ def _reduce_65(val, _values, result)
1729
1749
  builder = val[0]
1730
1750
  builder.symbols << Lrama::Lexer::Token::InstantiateRule.new(s_value: val[2], location: @lexer.location, args: [val[1]])
1731
1751
  result = builder
@@ -1734,8 +1754,8 @@ module_eval(<<'.,.,', 'parser.y', 273)
1734
1754
  end
1735
1755
  .,.,
1736
1756
 
1737
- module_eval(<<'.,.,', 'parser.y', 279)
1738
- def _reduce_64(val, _values, result)
1757
+ module_eval(<<'.,.,', 'parser.y', 286)
1758
+ def _reduce_66(val, _values, result)
1739
1759
  builder = val[0]
1740
1760
  builder.symbols << Lrama::Lexer::Token::InstantiateRule.new(s_value: val[1].s_value, location: @lexer.location, args: val[3])
1741
1761
  result = builder
@@ -1744,8 +1764,8 @@ module_eval(<<'.,.,', 'parser.y', 279)
1744
1764
  end
1745
1765
  .,.,
1746
1766
 
1747
- module_eval(<<'.,.,', 'parser.y', 285)
1748
- def _reduce_65(val, _values, result)
1767
+ module_eval(<<'.,.,', 'parser.y', 292)
1768
+ def _reduce_67(val, _values, result)
1749
1769
  if @prec_seen
1750
1770
  on_action_error("multiple User_code after %prec", val[0]) if @code_after_prec
1751
1771
  @code_after_prec = true
@@ -1756,16 +1776,16 @@ module_eval(<<'.,.,', 'parser.y', 285)
1756
1776
  end
1757
1777
  .,.,
1758
1778
 
1759
- module_eval(<<'.,.,', 'parser.y', 293)
1760
- def _reduce_66(val, _values, result)
1779
+ module_eval(<<'.,.,', 'parser.y', 300)
1780
+ def _reduce_68(val, _values, result)
1761
1781
  end_c_declaration
1762
1782
 
1763
1783
  result
1764
1784
  end
1765
1785
  .,.,
1766
1786
 
1767
- module_eval(<<'.,.,', 'parser.y', 297)
1768
- def _reduce_67(val, _values, result)
1787
+ module_eval(<<'.,.,', 'parser.y', 304)
1788
+ def _reduce_69(val, _values, result)
1769
1789
  user_code = val[3]
1770
1790
  user_code.alias_name = val[6]
1771
1791
  builder = val[0]
@@ -1776,8 +1796,8 @@ module_eval(<<'.,.,', 'parser.y', 297)
1776
1796
  end
1777
1797
  .,.,
1778
1798
 
1779
- module_eval(<<'.,.,', 'parser.y', 305)
1780
- def _reduce_68(val, _values, result)
1799
+ module_eval(<<'.,.,', 'parser.y', 312)
1800
+ def _reduce_70(val, _values, result)
1781
1801
  sym = @grammar.find_symbol_by_id!(val[2])
1782
1802
  @prec_seen = true
1783
1803
  builder = val[0]
@@ -1788,168 +1808,168 @@ module_eval(<<'.,.,', 'parser.y', 305)
1788
1808
  end
1789
1809
  .,.,
1790
1810
 
1791
- # reduce 69 omitted
1792
-
1793
- # reduce 70 omitted
1794
-
1795
1811
  # reduce 71 omitted
1796
1812
 
1797
1813
  # reduce 72 omitted
1798
1814
 
1799
- module_eval(<<'.,.,', 'parser.y', 320)
1800
- def _reduce_73(val, _values, result)
1815
+ # reduce 73 omitted
1816
+
1817
+ # reduce 74 omitted
1818
+
1819
+ module_eval(<<'.,.,', 'parser.y', 327)
1820
+ def _reduce_75(val, _values, result)
1801
1821
  result = [{tag: nil, tokens: val[0]}]
1802
1822
 
1803
1823
  result
1804
1824
  end
1805
1825
  .,.,
1806
1826
 
1807
- module_eval(<<'.,.,', 'parser.y', 324)
1808
- def _reduce_74(val, _values, result)
1827
+ module_eval(<<'.,.,', 'parser.y', 331)
1828
+ def _reduce_76(val, _values, result)
1809
1829
  result = [{tag: val[0], tokens: val[1]}]
1810
1830
 
1811
1831
  result
1812
1832
  end
1813
1833
  .,.,
1814
1834
 
1815
- module_eval(<<'.,.,', 'parser.y', 328)
1816
- def _reduce_75(val, _values, result)
1835
+ module_eval(<<'.,.,', 'parser.y', 335)
1836
+ def _reduce_77(val, _values, result)
1817
1837
  result = val[0].append({tag: val[1], tokens: val[2]})
1818
1838
 
1819
1839
  result
1820
1840
  end
1821
1841
  .,.,
1822
1842
 
1823
- module_eval(<<'.,.,', 'parser.y', 331)
1824
- def _reduce_76(val, _values, result)
1843
+ module_eval(<<'.,.,', 'parser.y', 338)
1844
+ def _reduce_78(val, _values, result)
1825
1845
  result = [val[0]]
1826
1846
  result
1827
1847
  end
1828
1848
  .,.,
1829
1849
 
1830
- module_eval(<<'.,.,', 'parser.y', 332)
1831
- def _reduce_77(val, _values, result)
1850
+ module_eval(<<'.,.,', 'parser.y', 339)
1851
+ def _reduce_79(val, _values, result)
1832
1852
  result = val[0].append(val[1])
1833
1853
  result
1834
1854
  end
1835
1855
  .,.,
1836
1856
 
1837
- # reduce 78 omitted
1857
+ # reduce 80 omitted
1838
1858
 
1839
- # reduce 79 omitted
1859
+ # reduce 81 omitted
1840
1860
 
1841
- module_eval(<<'.,.,', 'parser.y', 339)
1842
- def _reduce_80(val, _values, result)
1861
+ module_eval(<<'.,.,', 'parser.y', 346)
1862
+ def _reduce_82(val, _values, result)
1843
1863
  begin_c_declaration("}")
1844
1864
 
1845
1865
  result
1846
1866
  end
1847
1867
  .,.,
1848
1868
 
1849
- module_eval(<<'.,.,', 'parser.y', 343)
1850
- def _reduce_81(val, _values, result)
1869
+ module_eval(<<'.,.,', 'parser.y', 350)
1870
+ def _reduce_83(val, _values, result)
1851
1871
  end_c_declaration
1852
1872
 
1853
1873
  result
1854
1874
  end
1855
1875
  .,.,
1856
1876
 
1857
- module_eval(<<'.,.,', 'parser.y', 347)
1858
- def _reduce_82(val, _values, result)
1877
+ module_eval(<<'.,.,', 'parser.y', 354)
1878
+ def _reduce_84(val, _values, result)
1859
1879
  result = val[0].append(val[3])
1860
1880
 
1861
1881
  result
1862
1882
  end
1863
1883
  .,.,
1864
1884
 
1865
- module_eval(<<'.,.,', 'parser.y', 351)
1866
- def _reduce_83(val, _values, result)
1885
+ module_eval(<<'.,.,', 'parser.y', 358)
1886
+ def _reduce_85(val, _values, result)
1867
1887
  begin_c_declaration("}")
1868
1888
 
1869
1889
  result
1870
1890
  end
1871
1891
  .,.,
1872
1892
 
1873
- module_eval(<<'.,.,', 'parser.y', 355)
1874
- def _reduce_84(val, _values, result)
1893
+ module_eval(<<'.,.,', 'parser.y', 362)
1894
+ def _reduce_86(val, _values, result)
1875
1895
  end_c_declaration
1876
1896
 
1877
1897
  result
1878
1898
  end
1879
1899
  .,.,
1880
1900
 
1881
- module_eval(<<'.,.,', 'parser.y', 359)
1882
- def _reduce_85(val, _values, result)
1901
+ module_eval(<<'.,.,', 'parser.y', 366)
1902
+ def _reduce_87(val, _values, result)
1883
1903
  result = [val[2]]
1884
1904
 
1885
1905
  result
1886
1906
  end
1887
1907
  .,.,
1888
1908
 
1889
- module_eval(<<'.,.,', 'parser.y', 364)
1890
- def _reduce_86(val, _values, result)
1909
+ module_eval(<<'.,.,', 'parser.y', 371)
1910
+ def _reduce_88(val, _values, result)
1891
1911
  result = [{tag: nil, tokens: val[0]}]
1892
1912
 
1893
1913
  result
1894
1914
  end
1895
1915
  .,.,
1896
1916
 
1897
- module_eval(<<'.,.,', 'parser.y', 368)
1898
- def _reduce_87(val, _values, result)
1917
+ module_eval(<<'.,.,', 'parser.y', 375)
1918
+ def _reduce_89(val, _values, result)
1899
1919
  result = [{tag: val[0], tokens: val[1]}]
1900
1920
 
1901
1921
  result
1902
1922
  end
1903
1923
  .,.,
1904
1924
 
1905
- module_eval(<<'.,.,', 'parser.y', 372)
1906
- def _reduce_88(val, _values, result)
1925
+ module_eval(<<'.,.,', 'parser.y', 379)
1926
+ def _reduce_90(val, _values, result)
1907
1927
  result = val[0].append({tag: val[1], tokens: val[2]})
1908
1928
 
1909
1929
  result
1910
1930
  end
1911
1931
  .,.,
1912
1932
 
1913
- module_eval(<<'.,.,', 'parser.y', 375)
1914
- def _reduce_89(val, _values, result)
1933
+ module_eval(<<'.,.,', 'parser.y', 382)
1934
+ def _reduce_91(val, _values, result)
1915
1935
  result = [val[0]]
1916
1936
  result
1917
1937
  end
1918
1938
  .,.,
1919
1939
 
1920
- module_eval(<<'.,.,', 'parser.y', 376)
1921
- def _reduce_90(val, _values, result)
1940
+ module_eval(<<'.,.,', 'parser.y', 383)
1941
+ def _reduce_92(val, _values, result)
1922
1942
  result = val[0].append(val[1])
1923
1943
  result
1924
1944
  end
1925
1945
  .,.,
1926
1946
 
1927
- # reduce 91 omitted
1947
+ # reduce 93 omitted
1928
1948
 
1929
- module_eval(<<'.,.,', 'parser.y', 380)
1930
- def _reduce_92(val, _values, result)
1949
+ module_eval(<<'.,.,', 'parser.y', 387)
1950
+ def _reduce_94(val, _values, result)
1931
1951
  on_action_error("ident after %prec", val[0]) if @prec_seen
1932
1952
  result
1933
1953
  end
1934
1954
  .,.,
1935
1955
 
1936
- module_eval(<<'.,.,', 'parser.y', 381)
1937
- def _reduce_93(val, _values, result)
1956
+ module_eval(<<'.,.,', 'parser.y', 388)
1957
+ def _reduce_95(val, _values, result)
1938
1958
  on_action_error("char after %prec", val[0]) if @prec_seen
1939
1959
  result
1940
1960
  end
1941
1961
  .,.,
1942
1962
 
1943
- # reduce 94 omitted
1944
-
1945
- # reduce 95 omitted
1946
-
1947
1963
  # reduce 96 omitted
1948
1964
 
1949
1965
  # reduce 97 omitted
1950
1966
 
1951
- module_eval(<<'.,.,', 'parser.y', 391)
1952
- def _reduce_98(val, _values, result)
1967
+ # reduce 98 omitted
1968
+
1969
+ # reduce 99 omitted
1970
+
1971
+ module_eval(<<'.,.,', 'parser.y', 398)
1972
+ def _reduce_100(val, _values, result)
1953
1973
  lhs = val[0]
1954
1974
  lhs.alias_name = val[1]
1955
1975
  val[3].each do |builder|
@@ -1962,8 +1982,8 @@ module_eval(<<'.,.,', 'parser.y', 391)
1962
1982
  end
1963
1983
  .,.,
1964
1984
 
1965
- module_eval(<<'.,.,', 'parser.y', 402)
1966
- def _reduce_99(val, _values, result)
1985
+ module_eval(<<'.,.,', 'parser.y', 409)
1986
+ def _reduce_101(val, _values, result)
1967
1987
  builder = val[0]
1968
1988
  if !builder.line
1969
1989
  builder.line = @lexer.line - 1
@@ -1974,8 +1994,8 @@ module_eval(<<'.,.,', 'parser.y', 402)
1974
1994
  end
1975
1995
  .,.,
1976
1996
 
1977
- module_eval(<<'.,.,', 'parser.y', 410)
1978
- def _reduce_100(val, _values, result)
1997
+ module_eval(<<'.,.,', 'parser.y', 417)
1998
+ def _reduce_102(val, _values, result)
1979
1999
  builder = val[2]
1980
2000
  if !builder.line
1981
2001
  builder.line = @lexer.line - 1
@@ -1986,10 +2006,10 @@ module_eval(<<'.,.,', 'parser.y', 410)
1986
2006
  end
1987
2007
  .,.,
1988
2008
 
1989
- # reduce 101 omitted
2009
+ # reduce 103 omitted
1990
2010
 
1991
- module_eval(<<'.,.,', 'parser.y', 420)
1992
- def _reduce_102(val, _values, result)
2011
+ module_eval(<<'.,.,', 'parser.y', 427)
2012
+ def _reduce_104(val, _values, result)
1993
2013
  reset_precs
1994
2014
  result = Grammar::RuleBuilder.new(@rule_counter, @midrule_action_counter)
1995
2015
 
@@ -1997,8 +2017,8 @@ module_eval(<<'.,.,', 'parser.y', 420)
1997
2017
  end
1998
2018
  .,.,
1999
2019
 
2000
- module_eval(<<'.,.,', 'parser.y', 425)
2001
- def _reduce_103(val, _values, result)
2020
+ module_eval(<<'.,.,', 'parser.y', 432)
2021
+ def _reduce_105(val, _values, result)
2002
2022
  reset_precs
2003
2023
  result = Grammar::RuleBuilder.new(@rule_counter, @midrule_action_counter)
2004
2024
 
@@ -2006,8 +2026,8 @@ module_eval(<<'.,.,', 'parser.y', 425)
2006
2026
  end
2007
2027
  .,.,
2008
2028
 
2009
- module_eval(<<'.,.,', 'parser.y', 430)
2010
- def _reduce_104(val, _values, result)
2029
+ module_eval(<<'.,.,', 'parser.y', 437)
2030
+ def _reduce_106(val, _values, result)
2011
2031
  token = val[1]
2012
2032
  token.alias_name = val[2]
2013
2033
  builder = val[0]
@@ -2018,8 +2038,8 @@ module_eval(<<'.,.,', 'parser.y', 430)
2018
2038
  end
2019
2039
  .,.,
2020
2040
 
2021
- module_eval(<<'.,.,', 'parser.y', 438)
2022
- def _reduce_105(val, _values, result)
2041
+ module_eval(<<'.,.,', 'parser.y', 445)
2042
+ def _reduce_107(val, _values, result)
2023
2043
  token = Lrama::Lexer::Token::InstantiateRule.new(s_value: val[2], location: @lexer.location, args: [val[1]], lhs_tag: val[3])
2024
2044
  builder = val[0]
2025
2045
  builder.add_rhs(token)
@@ -2030,8 +2050,8 @@ module_eval(<<'.,.,', 'parser.y', 438)
2030
2050
  end
2031
2051
  .,.,
2032
2052
 
2033
- module_eval(<<'.,.,', 'parser.y', 446)
2034
- def _reduce_106(val, _values, result)
2053
+ module_eval(<<'.,.,', 'parser.y', 453)
2054
+ def _reduce_108(val, _values, result)
2035
2055
  token = Lrama::Lexer::Token::InstantiateRule.new(s_value: val[1].s_value, location: @lexer.location, args: val[3], lhs_tag: val[5])
2036
2056
  builder = val[0]
2037
2057
  builder.add_rhs(token)
@@ -2042,8 +2062,8 @@ module_eval(<<'.,.,', 'parser.y', 446)
2042
2062
  end
2043
2063
  .,.,
2044
2064
 
2045
- module_eval(<<'.,.,', 'parser.y', 454)
2046
- def _reduce_107(val, _values, result)
2065
+ module_eval(<<'.,.,', 'parser.y', 461)
2066
+ def _reduce_109(val, _values, result)
2047
2067
  if @prec_seen
2048
2068
  on_action_error("multiple User_code after %prec", val[0]) if @code_after_prec
2049
2069
  @code_after_prec = true
@@ -2054,18 +2074,19 @@ module_eval(<<'.,.,', 'parser.y', 454)
2054
2074
  end
2055
2075
  .,.,
2056
2076
 
2057
- module_eval(<<'.,.,', 'parser.y', 462)
2058
- def _reduce_108(val, _values, result)
2077
+ module_eval(<<'.,.,', 'parser.y', 469)
2078
+ def _reduce_110(val, _values, result)
2059
2079
  end_c_declaration
2060
2080
 
2061
2081
  result
2062
2082
  end
2063
2083
  .,.,
2064
2084
 
2065
- module_eval(<<'.,.,', 'parser.y', 466)
2066
- def _reduce_109(val, _values, result)
2085
+ module_eval(<<'.,.,', 'parser.y', 473)
2086
+ def _reduce_111(val, _values, result)
2067
2087
  user_code = val[3]
2068
2088
  user_code.alias_name = val[6]
2089
+ user_code.tag = val[7]
2069
2090
  builder = val[0]
2070
2091
  builder.user_code = user_code
2071
2092
  result = builder
@@ -2074,8 +2095,8 @@ module_eval(<<'.,.,', 'parser.y', 466)
2074
2095
  end
2075
2096
  .,.,
2076
2097
 
2077
- module_eval(<<'.,.,', 'parser.y', 474)
2078
- def _reduce_110(val, _values, result)
2098
+ module_eval(<<'.,.,', 'parser.y', 482)
2099
+ def _reduce_112(val, _values, result)
2079
2100
  sym = @grammar.find_symbol_by_id!(val[2])
2080
2101
  @prec_seen = true
2081
2102
  builder = val[0]
@@ -2086,70 +2107,70 @@ module_eval(<<'.,.,', 'parser.y', 474)
2086
2107
  end
2087
2108
  .,.,
2088
2109
 
2089
- module_eval(<<'.,.,', 'parser.y', 481)
2090
- def _reduce_111(val, _values, result)
2110
+ module_eval(<<'.,.,', 'parser.y', 489)
2111
+ def _reduce_113(val, _values, result)
2091
2112
  result = "option"
2092
2113
  result
2093
2114
  end
2094
2115
  .,.,
2095
2116
 
2096
- module_eval(<<'.,.,', 'parser.y', 482)
2097
- def _reduce_112(val, _values, result)
2117
+ module_eval(<<'.,.,', 'parser.y', 490)
2118
+ def _reduce_114(val, _values, result)
2098
2119
  result = "nonempty_list"
2099
2120
  result
2100
2121
  end
2101
2122
  .,.,
2102
2123
 
2103
- module_eval(<<'.,.,', 'parser.y', 483)
2104
- def _reduce_113(val, _values, result)
2124
+ module_eval(<<'.,.,', 'parser.y', 491)
2125
+ def _reduce_115(val, _values, result)
2105
2126
  result = "list"
2106
2127
  result
2107
2128
  end
2108
2129
  .,.,
2109
2130
 
2110
- module_eval(<<'.,.,', 'parser.y', 485)
2111
- def _reduce_114(val, _values, result)
2131
+ module_eval(<<'.,.,', 'parser.y', 493)
2132
+ def _reduce_116(val, _values, result)
2112
2133
  result = [val[0]]
2113
2134
  result
2114
2135
  end
2115
2136
  .,.,
2116
2137
 
2117
- module_eval(<<'.,.,', 'parser.y', 486)
2118
- def _reduce_115(val, _values, result)
2138
+ module_eval(<<'.,.,', 'parser.y', 494)
2139
+ def _reduce_117(val, _values, result)
2119
2140
  result = val[0].append(val[2])
2120
2141
  result
2121
2142
  end
2122
2143
  .,.,
2123
2144
 
2124
- module_eval(<<'.,.,', 'parser.y', 487)
2125
- def _reduce_116(val, _values, result)
2145
+ module_eval(<<'.,.,', 'parser.y', 495)
2146
+ def _reduce_118(val, _values, result)
2126
2147
  result = [Lrama::Lexer::Token::InstantiateRule.new(s_value: val[1].s_value, location: @lexer.location, args: val[0])]
2127
2148
  result
2128
2149
  end
2129
2150
  .,.,
2130
2151
 
2131
- module_eval(<<'.,.,', 'parser.y', 488)
2132
- def _reduce_117(val, _values, result)
2152
+ module_eval(<<'.,.,', 'parser.y', 496)
2153
+ def _reduce_119(val, _values, result)
2133
2154
  result = [Lrama::Lexer::Token::InstantiateRule.new(s_value: val[0].s_value, location: @lexer.location, args: val[2])]
2134
2155
  result
2135
2156
  end
2136
2157
  .,.,
2137
2158
 
2138
- # reduce 118 omitted
2159
+ # reduce 120 omitted
2139
2160
 
2140
- module_eval(<<'.,.,', 'parser.y', 491)
2141
- def _reduce_119(val, _values, result)
2161
+ module_eval(<<'.,.,', 'parser.y', 499)
2162
+ def _reduce_121(val, _values, result)
2142
2163
  result = val[1].s_value
2143
2164
  result
2144
2165
  end
2145
2166
  .,.,
2146
2167
 
2147
- # reduce 120 omitted
2168
+ # reduce 122 omitted
2148
2169
 
2149
- # reduce 121 omitted
2170
+ # reduce 123 omitted
2150
2171
 
2151
- module_eval(<<'.,.,', 'parser.y', 498)
2152
- def _reduce_122(val, _values, result)
2172
+ module_eval(<<'.,.,', 'parser.y', 506)
2173
+ def _reduce_124(val, _values, result)
2153
2174
  begin_c_declaration('\Z')
2154
2175
  @grammar.epilogue_first_lineno = @lexer.line + 1
2155
2176
 
@@ -2157,8 +2178,8 @@ module_eval(<<'.,.,', 'parser.y', 498)
2157
2178
  end
2158
2179
  .,.,
2159
2180
 
2160
- module_eval(<<'.,.,', 'parser.y', 503)
2161
- def _reduce_123(val, _values, result)
2181
+ module_eval(<<'.,.,', 'parser.y', 511)
2182
+ def _reduce_125(val, _values, result)
2162
2183
  end_c_declaration
2163
2184
  @grammar.epilogue = val[2].s_value
2164
2185
 
@@ -2166,44 +2187,44 @@ module_eval(<<'.,.,', 'parser.y', 503)
2166
2187
  end
2167
2188
  .,.,
2168
2189
 
2169
- # reduce 124 omitted
2170
-
2171
- # reduce 125 omitted
2172
-
2173
2190
  # reduce 126 omitted
2174
2191
 
2175
2192
  # reduce 127 omitted
2176
2193
 
2177
2194
  # reduce 128 omitted
2178
2195
 
2179
- module_eval(<<'.,.,', 'parser.y', 514)
2180
- def _reduce_129(val, _values, result)
2196
+ # reduce 129 omitted
2197
+
2198
+ # reduce 130 omitted
2199
+
2200
+ module_eval(<<'.,.,', 'parser.y', 522)
2201
+ def _reduce_131(val, _values, result)
2181
2202
  result = [val[0]]
2182
2203
  result
2183
2204
  end
2184
2205
  .,.,
2185
2206
 
2186
- module_eval(<<'.,.,', 'parser.y', 515)
2187
- def _reduce_130(val, _values, result)
2207
+ module_eval(<<'.,.,', 'parser.y', 523)
2208
+ def _reduce_132(val, _values, result)
2188
2209
  result = val[0].append(val[1])
2189
2210
  result
2190
2211
  end
2191
2212
  .,.,
2192
2213
 
2193
- # reduce 131 omitted
2214
+ # reduce 133 omitted
2194
2215
 
2195
- # reduce 132 omitted
2216
+ # reduce 134 omitted
2196
2217
 
2197
- module_eval(<<'.,.,', 'parser.y', 520)
2198
- def _reduce_133(val, _values, result)
2218
+ module_eval(<<'.,.,', 'parser.y', 528)
2219
+ def _reduce_135(val, _values, result)
2199
2220
  result = Lrama::Lexer::Token::Ident.new(s_value: val[0])
2200
2221
  result
2201
2222
  end
2202
2223
  .,.,
2203
2224
 
2204
- # reduce 134 omitted
2225
+ # reduce 136 omitted
2205
2226
 
2206
- # reduce 135 omitted
2227
+ # reduce 137 omitted
2207
2228
 
2208
2229
  def _reduce_none(val, _values, result)
2209
2230
  val[0]