lrama 0.6.4 → 0.6.6

Sign up to get free protection for your applications and to get access to all the features.
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]