lrama 0.6.10 → 0.6.11
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.
- checksums.yaml +4 -4
- data/.github/workflows/test.yaml +5 -1
- data/Gemfile +2 -2
- data/NEWS.md +65 -30
- data/Steepfile +3 -0
- data/doc/development/compressed_state_table/main.md +635 -0
- data/doc/development/compressed_state_table/parse.output +174 -0
- data/doc/development/compressed_state_table/parse.y +22 -0
- data/doc/development/compressed_state_table/parser.rb +282 -0
- data/lib/lrama/bitmap.rb +1 -1
- data/lib/lrama/context.rb +3 -3
- data/lib/lrama/counterexamples/derivation.rb +6 -5
- data/lib/lrama/counterexamples/example.rb +7 -4
- data/lib/lrama/counterexamples/path.rb +4 -0
- data/lib/lrama/counterexamples.rb +19 -9
- data/lib/lrama/grammar/parameterizing_rule/rhs.rb +1 -1
- data/lib/lrama/grammar/rule_builder.rb +1 -1
- data/lib/lrama/grammar/symbols/resolver.rb +4 -0
- data/lib/lrama/grammar.rb +2 -2
- data/lib/lrama/lexer/token/user_code.rb +1 -1
- data/lib/lrama/lexer.rb +1 -0
- data/lib/lrama/parser.rb +520 -487
- data/lib/lrama/state/reduce.rb +2 -3
- data/lib/lrama/version.rb +1 -1
- data/parser.y +38 -27
- data/rbs_collection.lock.yaml +10 -2
- data/sig/lrama/counterexamples/derivation.rbs +33 -0
- data/sig/lrama/counterexamples/example.rbs +45 -0
- data/sig/lrama/counterexamples/path.rbs +21 -0
- data/sig/lrama/counterexamples/production_path.rbs +11 -0
- data/sig/lrama/counterexamples/start_path.rbs +13 -0
- data/sig/lrama/counterexamples/state_item.rbs +10 -0
- data/sig/lrama/counterexamples/transition_path.rbs +11 -0
- data/sig/lrama/counterexamples/triple.rbs +20 -0
- data/sig/lrama/counterexamples.rbs +29 -0
- data/sig/lrama/grammar/symbol.rbs +1 -1
- data/sig/lrama/grammar/symbols/resolver.rbs +3 -3
- data/sig/lrama/grammar.rbs +13 -0
- data/sig/lrama/state/reduce_reduce_conflict.rbs +2 -2
- data/sig/lrama/state.rbs +79 -0
- data/sig/lrama/states.rbs +101 -0
- metadata +17 -2
data/lib/lrama/parser.rb
CHANGED
@@ -654,7 +654,7 @@ end
|
|
654
654
|
module Lrama
|
655
655
|
class Parser < Racc::Parser
|
656
656
|
|
657
|
-
module_eval(<<'...end parser.y/module_eval...', 'parser.y',
|
657
|
+
module_eval(<<'...end parser.y/module_eval...', 'parser.y', 428)
|
658
658
|
|
659
659
|
include Lrama::Report::Duration
|
660
660
|
|
@@ -728,297 +728,306 @@ end
|
|
728
728
|
##### State transition tables begin ###
|
729
729
|
|
730
730
|
racc_action_table = [
|
731
|
-
|
732
|
-
|
733
|
-
|
734
|
-
|
735
|
-
|
736
|
-
|
737
|
-
28, 29, 30, 31, 32, 33, 34,
|
738
|
-
38,
|
739
|
-
|
740
|
-
|
741
|
-
|
742
|
-
|
743
|
-
|
744
|
-
|
745
|
-
|
746
|
-
|
747
|
-
|
748
|
-
|
749
|
-
|
750
|
-
|
751
|
-
|
752
|
-
|
753
|
-
|
754
|
-
|
755
|
-
|
756
|
-
142,
|
757
|
-
|
758
|
-
|
759
|
-
|
731
|
+
89, 49, 90, 167, 49, 101, 173, 49, 101, 167,
|
732
|
+
49, 101, 173, 6, 101, 80, 49, 49, 48, 48,
|
733
|
+
41, 76, 76, 49, 49, 48, 48, 42, 76, 76,
|
734
|
+
49, 49, 48, 48, 101, 96, 113, 49, 87, 48,
|
735
|
+
150, 101, 96, 151, 45, 171, 169, 170, 151, 176,
|
736
|
+
170, 91, 169, 170, 81, 176, 170, 20, 24, 25,
|
737
|
+
26, 27, 28, 29, 30, 31, 87, 32, 33, 34,
|
738
|
+
35, 36, 37, 38, 39, 49, 4, 48, 5, 101,
|
739
|
+
96, 181, 182, 183, 128, 20, 24, 25, 26, 27,
|
740
|
+
28, 29, 30, 31, 46, 32, 33, 34, 35, 36,
|
741
|
+
37, 38, 39, 11, 12, 13, 14, 15, 16, 17,
|
742
|
+
18, 19, 53, 20, 24, 25, 26, 27, 28, 29,
|
743
|
+
30, 31, 53, 32, 33, 34, 35, 36, 37, 38,
|
744
|
+
39, 11, 12, 13, 14, 15, 16, 17, 18, 19,
|
745
|
+
44, 20, 24, 25, 26, 27, 28, 29, 30, 31,
|
746
|
+
53, 32, 33, 34, 35, 36, 37, 38, 39, 49,
|
747
|
+
4, 48, 5, 101, 96, 49, 49, 48, 48, 101,
|
748
|
+
101, 49, 49, 48, 48, 101, 101, 49, 49, 48,
|
749
|
+
197, 101, 101, 49, 49, 197, 48, 101, 101, 49,
|
750
|
+
49, 197, 48, 101, 181, 182, 183, 128, 204, 210,
|
751
|
+
217, 205, 205, 205, 49, 49, 48, 48, 49, 49,
|
752
|
+
48, 48, 49, 49, 48, 48, 181, 182, 183, 116,
|
753
|
+
117, 56, 53, 53, 53, 53, 53, 62, 63, 64,
|
754
|
+
65, 66, 68, 68, 68, 82, 53, 53, 104, 108,
|
755
|
+
108, 115, 122, 123, 125, 128, 129, 133, 139, 140,
|
756
|
+
141, 142, 144, 145, 101, 154, 139, 157, 154, 161,
|
757
|
+
162, 68, 164, 165, 172, 177, 154, 184, 128, 188,
|
758
|
+
154, 190, 128, 154, 199, 154, 128, 68, 165, 206,
|
759
|
+
165, 68, 68, 215, 128, 68 ]
|
760
760
|
|
761
761
|
racc_action_check = [
|
762
|
-
|
763
|
-
|
764
|
-
|
765
|
-
|
766
|
-
|
767
|
-
|
768
|
-
|
769
|
-
|
770
|
-
|
771
|
-
|
772
|
-
|
773
|
-
3, 3, 3, 3, 3,
|
774
|
-
3, 3,
|
775
|
-
3,
|
762
|
+
47, 153, 47, 153, 159, 153, 159, 178, 159, 178,
|
763
|
+
189, 178, 189, 1, 189, 39, 35, 36, 35, 36,
|
764
|
+
5, 35, 36, 37, 38, 37, 38, 6, 37, 38,
|
765
|
+
59, 74, 59, 74, 59, 59, 74, 60, 45, 60,
|
766
|
+
138, 60, 60, 138, 9, 156, 153, 153, 156, 159,
|
767
|
+
159, 47, 178, 178, 39, 189, 189, 45, 45, 45,
|
768
|
+
45, 45, 45, 45, 45, 45, 83, 45, 45, 45,
|
769
|
+
45, 45, 45, 45, 45, 61, 0, 61, 0, 61,
|
770
|
+
61, 166, 166, 166, 166, 83, 83, 83, 83, 83,
|
771
|
+
83, 83, 83, 83, 11, 83, 83, 83, 83, 83,
|
772
|
+
83, 83, 83, 3, 3, 3, 3, 3, 3, 3,
|
773
|
+
3, 3, 13, 3, 3, 3, 3, 3, 3, 3,
|
774
|
+
3, 3, 14, 3, 3, 3, 3, 3, 3, 3,
|
775
|
+
3, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
776
776
|
8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
777
|
-
8, 8, 8, 8, 8, 8, 8, 8,
|
778
|
-
|
779
|
-
|
780
|
-
|
781
|
-
|
782
|
-
|
783
|
-
|
784
|
-
|
785
|
-
|
786
|
-
|
787
|
-
|
788
|
-
|
789
|
-
172,
|
790
|
-
|
777
|
+
15, 8, 8, 8, 8, 8, 8, 8, 8, 97,
|
778
|
+
2, 97, 2, 97, 97, 71, 108, 71, 108, 71,
|
779
|
+
108, 109, 169, 109, 169, 109, 169, 176, 184, 176,
|
780
|
+
184, 176, 184, 190, 205, 190, 205, 190, 205, 206,
|
781
|
+
12, 206, 12, 206, 174, 174, 174, 174, 196, 201,
|
782
|
+
214, 196, 201, 214, 69, 76, 69, 76, 104, 105,
|
783
|
+
104, 105, 111, 113, 111, 113, 198, 198, 198, 81,
|
784
|
+
81, 16, 17, 20, 24, 25, 26, 27, 28, 29,
|
785
|
+
30, 31, 32, 33, 34, 40, 51, 56, 67, 70,
|
786
|
+
72, 80, 84, 85, 86, 87, 93, 107, 115, 116,
|
787
|
+
117, 118, 127, 128, 134, 140, 141, 143, 144, 145,
|
788
|
+
146, 150, 151, 152, 158, 163, 165, 167, 168, 171,
|
789
|
+
172, 173, 175, 177, 187, 188, 192, 193, 195, 197,
|
790
|
+
200, 202, 204, 209, 210, 216 ]
|
791
791
|
|
792
792
|
racc_action_pointer = [
|
793
|
-
|
794
|
-
nil,
|
795
|
-
|
796
|
-
|
797
|
-
nil, nil, nil, nil,
|
798
|
-
|
799
|
-
|
800
|
-
|
801
|
-
|
802
|
-
|
803
|
-
|
804
|
-
|
805
|
-
|
806
|
-
|
807
|
-
|
808
|
-
|
809
|
-
nil, nil,
|
810
|
-
|
811
|
-
nil, nil, nil,
|
812
|
-
nil,
|
813
|
-
|
814
|
-
nil, nil,
|
793
|
+
66, 13, 150, 90, nil, 13, 27, nil, 118, 35,
|
794
|
+
nil, 88, 187, 63, 73, 101, 216, 173, nil, nil,
|
795
|
+
174, nil, nil, nil, 175, 176, 177, 222, 223, 224,
|
796
|
+
225, 226, 224, 225, 226, 13, 14, 20, 21, 10,
|
797
|
+
233, nil, nil, nil, nil, 34, nil, -5, nil, nil,
|
798
|
+
nil, 187, nil, nil, nil, nil, 188, nil, nil, 27,
|
799
|
+
34, 72, nil, nil, nil, nil, nil, 230, nil, 201,
|
800
|
+
231, 162, 232, nil, 28, nil, 202, nil, nil, nil,
|
801
|
+
200, 215, nil, 62, 233, 221, 222, 191, nil, nil,
|
802
|
+
nil, nil, nil, 244, nil, nil, nil, 156, nil, nil,
|
803
|
+
nil, nil, nil, nil, 205, 206, nil, 241, 163, 168,
|
804
|
+
nil, 209, nil, 210, nil, 243, 206, 209, 240, nil,
|
805
|
+
nil, nil, nil, nil, nil, nil, nil, 209, 248, nil,
|
806
|
+
nil, nil, nil, nil, 247, nil, nil, nil, -2, nil,
|
807
|
+
208, 251, nil, 255, 211, 204, 210, nil, nil, nil,
|
808
|
+
253, 257, 217, -2, nil, nil, 3, nil, 218, 1,
|
809
|
+
nil, nil, nil, 222, nil, 219, 30, 226, 214, 169,
|
810
|
+
nil, 226, 223, 230, 143, 218, 174, 226, 4, nil,
|
811
|
+
nil, nil, nil, nil, 175, nil, nil, 272, 228, 7,
|
812
|
+
180, nil, 222, 269, nil, 232, 156, 238, 165, nil,
|
813
|
+
234, 157, 273, nil, 274, 181, 186, nil, nil, 233,
|
814
|
+
230, nil, nil, nil, 158, nil, 277, nil, nil ]
|
815
815
|
|
816
816
|
racc_action_default = [
|
817
|
-
-1, -
|
818
|
-
-16, -
|
819
|
-
-
|
820
|
-
-
|
821
|
-
-13,
|
822
|
-
-14, -19, -
|
823
|
-
-
|
824
|
-
-
|
825
|
-
|
826
|
-
|
827
|
-
-
|
828
|
-
-
|
829
|
-
|
830
|
-
|
831
|
-
-
|
832
|
-
-
|
833
|
-
|
834
|
-
-
|
835
|
-
-
|
836
|
-
|
837
|
-
-
|
838
|
-
-
|
817
|
+
-1, -128, -1, -3, -10, -128, -128, -2, -3, -128,
|
818
|
+
-16, -128, -128, -128, -128, -128, -128, -128, -24, -25,
|
819
|
+
-128, -32, -33, -34, -128, -128, -128, -128, -128, -128,
|
820
|
+
-128, -128, -50, -50, -50, -128, -128, -128, -128, -128,
|
821
|
+
-128, -13, 219, -4, -26, -128, -17, -123, -93, -94,
|
822
|
+
-122, -14, -19, -85, -20, -21, -128, -23, -31, -128,
|
823
|
+
-128, -128, -38, -39, -40, -41, -42, -43, -51, -128,
|
824
|
+
-44, -128, -45, -46, -88, -90, -128, -47, -48, -49,
|
825
|
+
-128, -128, -11, -5, -7, -95, -128, -68, -18, -124,
|
826
|
+
-125, -126, -15, -128, -22, -27, -28, -29, -35, -83,
|
827
|
+
-84, -127, -36, -37, -128, -52, -54, -56, -128, -79,
|
828
|
+
-81, -88, -89, -128, -91, -128, -128, -128, -128, -6,
|
829
|
+
-8, -9, -120, -96, -97, -98, -69, -128, -128, -86,
|
830
|
+
-30, -55, -53, -57, -76, -82, -80, -92, -128, -62,
|
831
|
+
-66, -128, -12, -128, -66, -128, -128, -58, -77, -78,
|
832
|
+
-50, -128, -60, -64, -67, -70, -128, -121, -99, -100,
|
833
|
+
-102, -119, -87, -128, -63, -66, -68, -93, -68, -128,
|
834
|
+
-116, -128, -66, -93, -68, -68, -128, -66, -65, -71,
|
835
|
+
-72, -108, -109, -110, -128, -74, -75, -128, -66, -101,
|
836
|
+
-128, -103, -68, -50, -107, -59, -128, -93, -111, -117,
|
837
|
+
-61, -128, -50, -106, -50, -128, -128, -112, -113, -128,
|
838
|
+
-68, -104, -73, -114, -128, -118, -50, -115, -105 ]
|
839
839
|
|
840
840
|
racc_goto_table = [
|
841
|
-
|
842
|
-
|
843
|
-
|
844
|
-
|
845
|
-
|
846
|
-
|
847
|
-
|
848
|
-
|
849
|
-
|
850
|
-
|
851
|
-
|
852
|
-
|
853
|
-
|
854
|
-
|
855
|
-
nil, nil, nil, nil, nil, nil,
|
841
|
+
69, 109, 50, 152, 57, 127, 84, 58, 112, 160,
|
842
|
+
114, 59, 60, 61, 86, 52, 54, 55, 98, 102,
|
843
|
+
103, 159, 106, 110, 175, 74, 74, 74, 74, 138,
|
844
|
+
9, 1, 3, 180, 7, 43, 120, 160, 109, 109,
|
845
|
+
195, 192, 121, 94, 119, 112, 40, 137, 118, 189,
|
846
|
+
47, 200, 86, 92, 175, 156, 130, 131, 132, 107,
|
847
|
+
135, 136, 88, 196, 111, 207, 111, 70, 72, 201,
|
848
|
+
73, 77, 78, 79, 67, 147, 134, 178, 148, 149,
|
849
|
+
93, 146, 124, 166, 179, 214, 185, 158, 208, 174,
|
850
|
+
187, 209, 191, 193, 107, 107, 143, nil, nil, 186,
|
851
|
+
nil, 111, nil, 111, nil, nil, 194, nil, 166, nil,
|
852
|
+
202, nil, nil, nil, 198, nil, nil, nil, 163, 174,
|
853
|
+
198, nil, nil, nil, nil, nil, nil, nil, 216, nil,
|
854
|
+
nil, nil, nil, nil, nil, 213, 198, nil, nil, nil,
|
855
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
856
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
857
|
+
nil, 203, nil, nil, nil, nil, nil, nil, nil, nil,
|
858
|
+
211, nil, 212, nil, nil, nil, nil, nil, nil, nil,
|
859
|
+
nil, nil, nil, nil, 218 ]
|
856
860
|
|
857
861
|
racc_goto_check = [
|
858
|
-
|
859
|
-
|
860
|
-
|
861
|
-
|
862
|
-
|
863
|
-
|
864
|
-
|
865
|
-
|
866
|
-
|
867
|
-
|
868
|
-
|
869
|
-
|
870
|
-
|
871
|
-
|
872
|
-
nil, nil, nil, nil, nil, nil,
|
862
|
+
27, 20, 29, 33, 15, 40, 8, 15, 46, 39,
|
863
|
+
46, 15, 15, 15, 12, 16, 16, 16, 22, 22,
|
864
|
+
22, 50, 28, 43, 38, 29, 29, 29, 29, 32,
|
865
|
+
7, 1, 6, 36, 6, 7, 5, 39, 20, 20,
|
866
|
+
33, 36, 9, 15, 8, 46, 10, 46, 11, 50,
|
867
|
+
13, 33, 12, 16, 38, 32, 22, 28, 28, 29,
|
868
|
+
43, 43, 14, 37, 29, 36, 29, 24, 24, 37,
|
869
|
+
25, 25, 25, 25, 23, 30, 31, 34, 41, 42,
|
870
|
+
44, 45, 48, 20, 40, 37, 40, 49, 51, 20,
|
871
|
+
52, 53, 40, 40, 29, 29, 54, nil, nil, 20,
|
872
|
+
nil, 29, nil, 29, nil, nil, 20, nil, 20, nil,
|
873
|
+
40, nil, nil, nil, 20, nil, nil, nil, 27, 20,
|
874
|
+
20, nil, nil, nil, nil, nil, nil, nil, 40, nil,
|
875
|
+
nil, nil, nil, nil, nil, 20, 20, nil, nil, nil,
|
876
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
877
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
878
|
+
nil, 27, nil, nil, nil, nil, nil, nil, nil, nil,
|
879
|
+
27, nil, 27, nil, nil, nil, nil, nil, nil, nil,
|
880
|
+
nil, nil, nil, nil, 27 ]
|
873
881
|
|
874
882
|
racc_goto_pointer = [
|
875
|
-
nil,
|
876
|
-
|
877
|
-
nil, -
|
878
|
-
|
879
|
-
-
|
880
|
-
|
883
|
+
nil, 31, nil, nil, nil, -48, 32, 27, -39, -42,
|
884
|
+
42, -34, -31, 38, 15, -13, 2, nil, nil, nil,
|
885
|
+
-70, nil, -41, 42, 34, 35, nil, -32, -47, -10,
|
886
|
+
-59, -31, -86, -137, -88, nil, -133, -121, -135, -135,
|
887
|
+
-82, -56, -55, -48, 27, -48, -66, nil, -3, -57,
|
888
|
+
-123, -110, -80, -108, -26 ]
|
881
889
|
|
882
890
|
racc_goto_default = [
|
883
|
-
nil, nil, 2, 8,
|
884
|
-
nil, nil, 10, nil, nil,
|
885
|
-
|
886
|
-
nil, nil, nil,
|
887
|
-
nil,
|
888
|
-
nil, nil, nil ]
|
891
|
+
nil, nil, 2, 8, 83, nil, nil, nil, nil, nil,
|
892
|
+
nil, nil, 10, nil, nil, 51, nil, 21, 22, 23,
|
893
|
+
95, 97, nil, nil, nil, nil, 105, 71, nil, 99,
|
894
|
+
nil, nil, nil, nil, 153, 126, nil, nil, 168, 155,
|
895
|
+
nil, 100, nil, nil, nil, nil, 75, 85, nil, nil,
|
896
|
+
nil, nil, nil, nil, nil ]
|
889
897
|
|
890
898
|
racc_reduce_table = [
|
891
899
|
0, 0, :racc_error,
|
892
|
-
0,
|
893
|
-
2,
|
894
|
-
0,
|
895
|
-
2,
|
896
|
-
1,
|
897
|
-
2,
|
898
|
-
0,
|
899
|
-
1,
|
900
|
-
5,
|
901
|
-
0,
|
902
|
-
0,
|
903
|
-
5,
|
904
|
-
2, 57, :_reduce_none,
|
905
|
-
1, 71, :_reduce_14,
|
906
|
-
2, 71, :_reduce_15,
|
907
|
-
1, 58, :_reduce_none,
|
908
|
-
2, 58, :_reduce_17,
|
909
|
-
3, 58, :_reduce_none,
|
910
|
-
2, 58, :_reduce_none,
|
911
|
-
2, 58, :_reduce_20,
|
912
|
-
2, 58, :_reduce_21,
|
913
|
-
3, 58, :_reduce_22,
|
914
|
-
2, 58, :_reduce_23,
|
915
|
-
1, 58, :_reduce_24,
|
916
|
-
1, 58, :_reduce_25,
|
917
|
-
2, 58, :_reduce_none,
|
918
|
-
1, 76, :_reduce_27,
|
919
|
-
2, 76, :_reduce_28,
|
920
|
-
2, 67, :_reduce_29,
|
921
|
-
1, 67, :_reduce_none,
|
922
|
-
1, 67, :_reduce_none,
|
923
|
-
1, 67, :_reduce_none,
|
924
|
-
3, 67, :_reduce_33,
|
925
|
-
3, 67, :_reduce_34,
|
926
|
-
3, 67, :_reduce_35,
|
927
|
-
2, 67, :_reduce_36,
|
928
|
-
2, 67, :_reduce_37,
|
929
|
-
2, 67, :_reduce_38,
|
930
|
-
2, 67, :_reduce_39,
|
931
|
-
2, 67, :_reduce_40,
|
932
|
-
2, 72, :_reduce_none,
|
933
|
-
2, 72, :_reduce_42,
|
934
|
-
2, 72, :_reduce_43,
|
935
|
-
2, 72, :_reduce_44,
|
936
|
-
2, 72, :_reduce_45,
|
937
|
-
2, 72, :_reduce_46,
|
938
|
-
1, 81, :_reduce_47,
|
939
|
-
2, 81, :_reduce_48,
|
940
|
-
1, 77, :_reduce_49,
|
941
|
-
2, 77, :_reduce_50,
|
942
|
-
3, 77, :_reduce_51,
|
943
|
-
0, 84, :_reduce_none,
|
944
|
-
1, 84, :_reduce_none,
|
945
|
-
3, 80, :_reduce_54,
|
946
|
-
0, 87, :_reduce_none,
|
947
|
-
1, 87, :_reduce_none,
|
948
|
-
8, 73, :_reduce_57,
|
949
|
-
5, 74, :_reduce_58,
|
950
|
-
8, 74, :_reduce_59,
|
951
|
-
1, 85, :_reduce_60,
|
952
|
-
3, 85, :_reduce_61,
|
953
|
-
1, 86, :_reduce_62,
|
954
|
-
3, 86, :_reduce_63,
|
955
|
-
0, 95, :_reduce_none,
|
956
|
-
1, 95, :_reduce_none,
|
957
|
-
1, 88, :_reduce_66,
|
958
|
-
3, 88, :_reduce_67,
|
959
|
-
3, 88, :_reduce_68,
|
960
|
-
6, 88, :_reduce_69,
|
961
|
-
3, 88, :_reduce_70,
|
962
|
-
3, 88, :_reduce_71,
|
963
|
-
0, 83, :_reduce_none,
|
964
|
-
1, 83, :_reduce_73,
|
965
|
-
1, 97, :_reduce_74,
|
966
|
-
2, 97, :_reduce_75,
|
967
|
-
1, 78, :_reduce_76,
|
968
|
-
2, 78, :_reduce_77,
|
969
|
-
3, 78, :_reduce_78,
|
970
|
-
1, 90, :_reduce_none,
|
971
|
-
1, 90, :_reduce_none,
|
972
|
-
0, 98, :_reduce_81,
|
973
|
-
0, 99, :_reduce_82,
|
974
|
-
5, 70, :_reduce_83,
|
975
|
-
1, 100, :_reduce_84,
|
976
|
-
2, 100, :_reduce_85,
|
977
|
-
1, 79, :_reduce_86,
|
978
|
-
2, 79, :_reduce_87,
|
979
|
-
3, 79, :_reduce_88,
|
980
|
-
1, 82, :_reduce_89,
|
981
|
-
1, 82, :_reduce_90,
|
982
|
-
0, 102, :_reduce_none,
|
983
|
-
1, 102, :_reduce_none,
|
984
|
-
2, 59, :_reduce_none,
|
900
|
+
0, 63, :_reduce_1,
|
901
|
+
2, 63, :_reduce_2,
|
902
|
+
0, 64, :_reduce_3,
|
903
|
+
2, 64, :_reduce_4,
|
904
|
+
1, 65, :_reduce_5,
|
905
|
+
2, 65, :_reduce_6,
|
906
|
+
0, 66, :_reduce_none,
|
907
|
+
1, 66, :_reduce_none,
|
908
|
+
5, 58, :_reduce_none,
|
909
|
+
0, 67, :_reduce_10,
|
910
|
+
0, 68, :_reduce_11,
|
911
|
+
5, 59, :_reduce_12,
|
985
912
|
2, 59, :_reduce_none,
|
986
|
-
|
987
|
-
|
988
|
-
|
989
|
-
|
990
|
-
3,
|
991
|
-
|
992
|
-
|
993
|
-
|
994
|
-
3,
|
995
|
-
|
996
|
-
1,
|
997
|
-
1,
|
998
|
-
|
999
|
-
|
1000
|
-
|
1001
|
-
|
1002
|
-
|
1003
|
-
|
1004
|
-
5, 94, :_reduce_113,
|
1005
|
-
3, 91, :_reduce_114,
|
1006
|
-
0, 107, :_reduce_115,
|
1007
|
-
3, 60, :_reduce_116,
|
1008
|
-
1, 68, :_reduce_none,
|
1009
|
-
0, 69, :_reduce_none,
|
913
|
+
1, 73, :_reduce_14,
|
914
|
+
2, 73, :_reduce_15,
|
915
|
+
1, 60, :_reduce_none,
|
916
|
+
2, 60, :_reduce_17,
|
917
|
+
3, 60, :_reduce_none,
|
918
|
+
2, 60, :_reduce_none,
|
919
|
+
2, 60, :_reduce_20,
|
920
|
+
2, 60, :_reduce_21,
|
921
|
+
3, 60, :_reduce_22,
|
922
|
+
2, 60, :_reduce_23,
|
923
|
+
1, 60, :_reduce_24,
|
924
|
+
1, 60, :_reduce_25,
|
925
|
+
2, 60, :_reduce_none,
|
926
|
+
1, 78, :_reduce_27,
|
927
|
+
1, 78, :_reduce_28,
|
928
|
+
1, 79, :_reduce_29,
|
929
|
+
2, 79, :_reduce_30,
|
930
|
+
2, 69, :_reduce_31,
|
1010
931
|
1, 69, :_reduce_none,
|
1011
932
|
1, 69, :_reduce_none,
|
1012
933
|
1, 69, :_reduce_none,
|
1013
|
-
|
1014
|
-
|
1015
|
-
|
1016
|
-
|
1017
|
-
|
1018
|
-
|
1019
|
-
|
1020
|
-
|
1021
|
-
|
934
|
+
3, 69, :_reduce_35,
|
935
|
+
3, 69, :_reduce_36,
|
936
|
+
3, 69, :_reduce_37,
|
937
|
+
2, 69, :_reduce_38,
|
938
|
+
2, 69, :_reduce_39,
|
939
|
+
2, 69, :_reduce_40,
|
940
|
+
2, 69, :_reduce_41,
|
941
|
+
2, 69, :_reduce_42,
|
942
|
+
2, 74, :_reduce_none,
|
943
|
+
2, 74, :_reduce_44,
|
944
|
+
2, 74, :_reduce_45,
|
945
|
+
2, 74, :_reduce_46,
|
946
|
+
2, 74, :_reduce_47,
|
947
|
+
2, 74, :_reduce_48,
|
948
|
+
2, 74, :_reduce_49,
|
949
|
+
0, 84, :_reduce_none,
|
950
|
+
1, 84, :_reduce_none,
|
951
|
+
1, 85, :_reduce_52,
|
952
|
+
2, 85, :_reduce_53,
|
953
|
+
2, 80, :_reduce_54,
|
954
|
+
3, 80, :_reduce_55,
|
955
|
+
0, 88, :_reduce_none,
|
956
|
+
1, 88, :_reduce_none,
|
957
|
+
3, 83, :_reduce_58,
|
958
|
+
8, 75, :_reduce_59,
|
959
|
+
5, 76, :_reduce_60,
|
960
|
+
8, 76, :_reduce_61,
|
961
|
+
1, 89, :_reduce_62,
|
962
|
+
3, 89, :_reduce_63,
|
963
|
+
1, 90, :_reduce_64,
|
964
|
+
3, 90, :_reduce_65,
|
965
|
+
0, 96, :_reduce_none,
|
966
|
+
1, 96, :_reduce_none,
|
967
|
+
0, 97, :_reduce_none,
|
968
|
+
1, 97, :_reduce_none,
|
969
|
+
1, 91, :_reduce_70,
|
970
|
+
3, 91, :_reduce_71,
|
971
|
+
3, 91, :_reduce_72,
|
972
|
+
6, 91, :_reduce_73,
|
973
|
+
3, 91, :_reduce_74,
|
974
|
+
3, 91, :_reduce_75,
|
975
|
+
0, 99, :_reduce_none,
|
976
|
+
1, 99, :_reduce_none,
|
977
|
+
1, 87, :_reduce_78,
|
978
|
+
1, 100, :_reduce_79,
|
979
|
+
2, 100, :_reduce_80,
|
980
|
+
2, 81, :_reduce_81,
|
981
|
+
3, 81, :_reduce_82,
|
982
|
+
1, 77, :_reduce_none,
|
983
|
+
1, 77, :_reduce_none,
|
984
|
+
0, 101, :_reduce_85,
|
985
|
+
0, 102, :_reduce_86,
|
986
|
+
5, 72, :_reduce_87,
|
987
|
+
1, 103, :_reduce_88,
|
988
|
+
2, 103, :_reduce_89,
|
989
|
+
1, 82, :_reduce_90,
|
990
|
+
2, 82, :_reduce_91,
|
991
|
+
3, 82, :_reduce_92,
|
992
|
+
1, 86, :_reduce_93,
|
993
|
+
1, 86, :_reduce_94,
|
994
|
+
0, 105, :_reduce_none,
|
995
|
+
1, 105, :_reduce_none,
|
996
|
+
2, 61, :_reduce_none,
|
997
|
+
2, 61, :_reduce_none,
|
998
|
+
4, 104, :_reduce_99,
|
999
|
+
1, 106, :_reduce_100,
|
1000
|
+
3, 106, :_reduce_101,
|
1001
|
+
1, 107, :_reduce_102,
|
1002
|
+
3, 107, :_reduce_103,
|
1003
|
+
5, 107, :_reduce_104,
|
1004
|
+
7, 107, :_reduce_105,
|
1005
|
+
4, 107, :_reduce_106,
|
1006
|
+
3, 107, :_reduce_107,
|
1007
|
+
1, 93, :_reduce_108,
|
1008
|
+
1, 93, :_reduce_109,
|
1009
|
+
1, 93, :_reduce_110,
|
1010
|
+
0, 108, :_reduce_none,
|
1011
|
+
1, 108, :_reduce_none,
|
1012
|
+
2, 94, :_reduce_113,
|
1013
|
+
3, 94, :_reduce_114,
|
1014
|
+
4, 94, :_reduce_115,
|
1015
|
+
0, 109, :_reduce_116,
|
1016
|
+
0, 110, :_reduce_117,
|
1017
|
+
5, 95, :_reduce_118,
|
1018
|
+
3, 92, :_reduce_119,
|
1019
|
+
0, 111, :_reduce_120,
|
1020
|
+
3, 62, :_reduce_121,
|
1021
|
+
1, 70, :_reduce_none,
|
1022
|
+
0, 71, :_reduce_none,
|
1023
|
+
1, 71, :_reduce_none,
|
1024
|
+
1, 71, :_reduce_none,
|
1025
|
+
1, 71, :_reduce_none,
|
1026
|
+
1, 98, :_reduce_127 ]
|
1027
|
+
|
1028
|
+
racc_reduce_n = 128
|
1029
|
+
|
1030
|
+
racc_shift_n = 219
|
1022
1031
|
|
1023
1032
|
racc_token_table = {
|
1024
1033
|
false => 0,
|
@@ -1053,31 +1062,33 @@ racc_token_table = {
|
|
1053
1062
|
"%after-reduce" => 29,
|
1054
1063
|
"%after-shift-error-token" => 30,
|
1055
1064
|
"%after-pop-stack" => 31,
|
1056
|
-
"
|
1057
|
-
"%
|
1058
|
-
"%
|
1059
|
-
"%
|
1060
|
-
"%
|
1061
|
-
"%
|
1062
|
-
"%
|
1063
|
-
"
|
1064
|
-
"
|
1065
|
-
"
|
1066
|
-
"
|
1067
|
-
"
|
1068
|
-
"
|
1069
|
-
"
|
1070
|
-
"
|
1071
|
-
"
|
1072
|
-
"
|
1073
|
-
"
|
1074
|
-
"
|
1075
|
-
"
|
1076
|
-
"
|
1077
|
-
"
|
1078
|
-
"
|
1079
|
-
|
1080
|
-
|
1065
|
+
"-temp-group" => 32,
|
1066
|
+
"%token" => 33,
|
1067
|
+
"%type" => 34,
|
1068
|
+
"%nterm" => 35,
|
1069
|
+
"%left" => 36,
|
1070
|
+
"%right" => 37,
|
1071
|
+
"%precedence" => 38,
|
1072
|
+
"%nonassoc" => 39,
|
1073
|
+
"%rule" => 40,
|
1074
|
+
"(" => 41,
|
1075
|
+
")" => 42,
|
1076
|
+
":" => 43,
|
1077
|
+
"%inline" => 44,
|
1078
|
+
"," => 45,
|
1079
|
+
"|" => 46,
|
1080
|
+
"%empty" => 47,
|
1081
|
+
"%prec" => 48,
|
1082
|
+
"{" => 49,
|
1083
|
+
"}" => 50,
|
1084
|
+
"?" => 51,
|
1085
|
+
"+" => 52,
|
1086
|
+
"*" => 53,
|
1087
|
+
"[" => 54,
|
1088
|
+
"]" => 55,
|
1089
|
+
"{...}" => 56 }
|
1090
|
+
|
1091
|
+
racc_nt_base = 57
|
1081
1092
|
|
1082
1093
|
racc_use_result_var = true
|
1083
1094
|
|
@@ -1131,8 +1142,10 @@ Racc_token_to_s_table = [
|
|
1131
1142
|
"\"%after-reduce\"",
|
1132
1143
|
"\"%after-shift-error-token\"",
|
1133
1144
|
"\"%after-pop-stack\"",
|
1145
|
+
"\"-temp-group\"",
|
1134
1146
|
"\"%token\"",
|
1135
1147
|
"\"%type\"",
|
1148
|
+
"\"%nterm\"",
|
1136
1149
|
"\"%left\"",
|
1137
1150
|
"\"%right\"",
|
1138
1151
|
"\"%precedence\"",
|
@@ -1144,6 +1157,7 @@ Racc_token_to_s_table = [
|
|
1144
1157
|
"\"%inline\"",
|
1145
1158
|
"\",\"",
|
1146
1159
|
"\"|\"",
|
1160
|
+
"\"%empty\"",
|
1147
1161
|
"\"%prec\"",
|
1148
1162
|
"\"{\"",
|
1149
1163
|
"\"}\"",
|
@@ -1153,7 +1167,6 @@ Racc_token_to_s_table = [
|
|
1153
1167
|
"\"[\"",
|
1154
1168
|
"\"]\"",
|
1155
1169
|
"\"{...}\"",
|
1156
|
-
"\"%empty\"",
|
1157
1170
|
"$start",
|
1158
1171
|
"input",
|
1159
1172
|
"prologue_declaration",
|
@@ -1174,28 +1187,29 @@ Racc_token_to_s_table = [
|
|
1174
1187
|
"symbol_declaration",
|
1175
1188
|
"rule_declaration",
|
1176
1189
|
"inline_declaration",
|
1177
|
-
"
|
1178
|
-
"\"-
|
1190
|
+
"symbol",
|
1191
|
+
"\"-group@symbol|TAG\"",
|
1192
|
+
"\"-many1@-group@symbol|TAG\"",
|
1179
1193
|
"token_declarations",
|
1180
1194
|
"symbol_declarations",
|
1181
1195
|
"token_declarations_for_precedence",
|
1182
1196
|
"token_declaration",
|
1197
|
+
"\"-option@TAG\"",
|
1183
1198
|
"\"-many1@token_declaration\"",
|
1184
1199
|
"id",
|
1185
1200
|
"alias",
|
1186
1201
|
"\"-option@INTEGER\"",
|
1187
1202
|
"rule_args",
|
1188
1203
|
"rule_rhs_list",
|
1189
|
-
"\"-option@TAG\"",
|
1190
1204
|
"rule_rhs",
|
1191
|
-
"empty",
|
1192
|
-
"symbol",
|
1193
1205
|
"named_ref",
|
1194
1206
|
"parameterizing_suffix",
|
1195
1207
|
"parameterizing_args",
|
1196
1208
|
"midrule_action",
|
1209
|
+
"\"-option@%empty\"",
|
1197
1210
|
"\"-option@named_ref\"",
|
1198
1211
|
"string_as_id",
|
1212
|
+
"\"-option@string_as_id\"",
|
1199
1213
|
"\"-many1@symbol\"",
|
1200
1214
|
"@3",
|
1201
1215
|
"@4",
|
@@ -1204,6 +1218,7 @@ Racc_token_to_s_table = [
|
|
1204
1218
|
"\"-option@;\"",
|
1205
1219
|
"rhs_list",
|
1206
1220
|
"rhs",
|
1221
|
+
"\"-option@parameterizing_suffix\"",
|
1207
1222
|
"@5",
|
1208
1223
|
"@6",
|
1209
1224
|
"@7" ]
|
@@ -1371,20 +1386,34 @@ module_eval(<<'.,.,', 'parser.y', 50)
|
|
1371
1386
|
|
1372
1387
|
module_eval(<<'.,.,', 'parser.y', 109)
|
1373
1388
|
def _reduce_27(val, _values, result)
|
1374
|
-
result = val
|
1389
|
+
result = val
|
1375
1390
|
result
|
1376
1391
|
end
|
1377
1392
|
.,.,
|
1378
1393
|
|
1379
1394
|
module_eval(<<'.,.,', 'parser.y', 109)
|
1380
1395
|
def _reduce_28(val, _values, result)
|
1396
|
+
result = val
|
1397
|
+
result
|
1398
|
+
end
|
1399
|
+
.,.,
|
1400
|
+
|
1401
|
+
module_eval(<<'.,.,', 'parser.y', 109)
|
1402
|
+
def _reduce_29(val, _values, result)
|
1403
|
+
result = val[1] ? val[1].unshift(val[0]) : val
|
1404
|
+
result
|
1405
|
+
end
|
1406
|
+
.,.,
|
1407
|
+
|
1408
|
+
module_eval(<<'.,.,', 'parser.y', 109)
|
1409
|
+
def _reduce_30(val, _values, result)
|
1381
1410
|
result = val[1] ? val[1].unshift(val[0]) : val
|
1382
1411
|
result
|
1383
1412
|
end
|
1384
1413
|
.,.,
|
1385
1414
|
|
1386
1415
|
module_eval(<<'.,.,', 'parser.y', 55)
|
1387
|
-
def
|
1416
|
+
def _reduce_31(val, _values, result)
|
1388
1417
|
@grammar.set_union(
|
1389
1418
|
Grammar::Code::NoReferenceCode.new(type: :union, token_code: val[1]),
|
1390
1419
|
val[1].line
|
@@ -1394,16 +1423,16 @@ module_eval(<<'.,.,', 'parser.y', 55)
|
|
1394
1423
|
end
|
1395
1424
|
.,.,
|
1396
1425
|
|
1397
|
-
# reduce
|
1426
|
+
# reduce 32 omitted
|
1398
1427
|
|
1399
|
-
# reduce
|
1428
|
+
# reduce 33 omitted
|
1400
1429
|
|
1401
|
-
# reduce
|
1430
|
+
# reduce 34 omitted
|
1402
1431
|
|
1403
1432
|
module_eval(<<'.,.,', 'parser.y', 65)
|
1404
|
-
def
|
1433
|
+
def _reduce_35(val, _values, result)
|
1405
1434
|
@grammar.add_destructor(
|
1406
|
-
ident_or_tags: val[2],
|
1435
|
+
ident_or_tags: val[2].flatten,
|
1407
1436
|
token_code: val[1],
|
1408
1437
|
lineno: val[1].line
|
1409
1438
|
)
|
@@ -1413,9 +1442,9 @@ module_eval(<<'.,.,', 'parser.y', 65)
|
|
1413
1442
|
.,.,
|
1414
1443
|
|
1415
1444
|
module_eval(<<'.,.,', 'parser.y', 73)
|
1416
|
-
def
|
1445
|
+
def _reduce_36(val, _values, result)
|
1417
1446
|
@grammar.add_printer(
|
1418
|
-
ident_or_tags: val[2],
|
1447
|
+
ident_or_tags: val[2].flatten,
|
1419
1448
|
token_code: val[1],
|
1420
1449
|
lineno: val[1].line
|
1421
1450
|
)
|
@@ -1425,9 +1454,9 @@ module_eval(<<'.,.,', 'parser.y', 73)
|
|
1425
1454
|
.,.,
|
1426
1455
|
|
1427
1456
|
module_eval(<<'.,.,', 'parser.y', 81)
|
1428
|
-
def
|
1457
|
+
def _reduce_37(val, _values, result)
|
1429
1458
|
@grammar.add_error_token(
|
1430
|
-
ident_or_tags: val[2],
|
1459
|
+
ident_or_tags: val[2].flatten,
|
1431
1460
|
token_code: val[1],
|
1432
1461
|
lineno: val[1].line
|
1433
1462
|
)
|
@@ -1437,7 +1466,7 @@ module_eval(<<'.,.,', 'parser.y', 81)
|
|
1437
1466
|
.,.,
|
1438
1467
|
|
1439
1468
|
module_eval(<<'.,.,', 'parser.y', 89)
|
1440
|
-
def
|
1469
|
+
def _reduce_38(val, _values, result)
|
1441
1470
|
@grammar.after_shift = val[1]
|
1442
1471
|
|
1443
1472
|
result
|
@@ -1445,7 +1474,7 @@ module_eval(<<'.,.,', 'parser.y', 89)
|
|
1445
1474
|
.,.,
|
1446
1475
|
|
1447
1476
|
module_eval(<<'.,.,', 'parser.y', 93)
|
1448
|
-
def
|
1477
|
+
def _reduce_39(val, _values, result)
|
1449
1478
|
@grammar.before_reduce = val[1]
|
1450
1479
|
|
1451
1480
|
result
|
@@ -1453,7 +1482,7 @@ module_eval(<<'.,.,', 'parser.y', 93)
|
|
1453
1482
|
.,.,
|
1454
1483
|
|
1455
1484
|
module_eval(<<'.,.,', 'parser.y', 97)
|
1456
|
-
def
|
1485
|
+
def _reduce_40(val, _values, result)
|
1457
1486
|
@grammar.after_reduce = val[1]
|
1458
1487
|
|
1459
1488
|
result
|
@@ -1461,7 +1490,7 @@ module_eval(<<'.,.,', 'parser.y', 97)
|
|
1461
1490
|
.,.,
|
1462
1491
|
|
1463
1492
|
module_eval(<<'.,.,', 'parser.y', 101)
|
1464
|
-
def
|
1493
|
+
def _reduce_41(val, _values, result)
|
1465
1494
|
@grammar.after_shift_error_token = val[1]
|
1466
1495
|
|
1467
1496
|
result
|
@@ -1469,17 +1498,17 @@ module_eval(<<'.,.,', 'parser.y', 101)
|
|
1469
1498
|
.,.,
|
1470
1499
|
|
1471
1500
|
module_eval(<<'.,.,', 'parser.y', 105)
|
1472
|
-
def
|
1501
|
+
def _reduce_42(val, _values, result)
|
1473
1502
|
@grammar.after_pop_stack = val[1]
|
1474
1503
|
|
1475
1504
|
result
|
1476
1505
|
end
|
1477
1506
|
.,.,
|
1478
1507
|
|
1479
|
-
# reduce
|
1508
|
+
# reduce 43 omitted
|
1480
1509
|
|
1481
1510
|
module_eval(<<'.,.,', 'parser.y', 111)
|
1482
|
-
def
|
1511
|
+
def _reduce_44(val, _values, result)
|
1483
1512
|
val[1].each {|hash|
|
1484
1513
|
hash[:tokens].each {|id|
|
1485
1514
|
@grammar.add_type(id: id, tag: hash[:tag])
|
@@ -1491,7 +1520,23 @@ module_eval(<<'.,.,', 'parser.y', 111)
|
|
1491
1520
|
.,.,
|
1492
1521
|
|
1493
1522
|
module_eval(<<'.,.,', 'parser.y', 119)
|
1494
|
-
def
|
1523
|
+
def _reduce_45(val, _values, result)
|
1524
|
+
val[1].each {|hash|
|
1525
|
+
hash[:tokens].each {|id|
|
1526
|
+
if @grammar.find_term_by_s_value(id.s_value)
|
1527
|
+
on_action_error("symbol #{id.s_value} redeclared as a nonterminal", id)
|
1528
|
+
else
|
1529
|
+
@grammar.add_type(id: id, tag: hash[:tag])
|
1530
|
+
end
|
1531
|
+
}
|
1532
|
+
}
|
1533
|
+
|
1534
|
+
result
|
1535
|
+
end
|
1536
|
+
.,.,
|
1537
|
+
|
1538
|
+
module_eval(<<'.,.,', 'parser.y', 131)
|
1539
|
+
def _reduce_46(val, _values, result)
|
1495
1540
|
val[1].each {|hash|
|
1496
1541
|
hash[:tokens].each {|id|
|
1497
1542
|
sym = @grammar.add_term(id: id)
|
@@ -1504,8 +1549,8 @@ module_eval(<<'.,.,', 'parser.y', 119)
|
|
1504
1549
|
end
|
1505
1550
|
.,.,
|
1506
1551
|
|
1507
|
-
module_eval(<<'.,.,', 'parser.y',
|
1508
|
-
def
|
1552
|
+
module_eval(<<'.,.,', 'parser.y', 141)
|
1553
|
+
def _reduce_47(val, _values, result)
|
1509
1554
|
val[1].each {|hash|
|
1510
1555
|
hash[:tokens].each {|id|
|
1511
1556
|
sym = @grammar.add_term(id: id)
|
@@ -1518,8 +1563,8 @@ module_eval(<<'.,.,', 'parser.y', 129)
|
|
1518
1563
|
end
|
1519
1564
|
.,.,
|
1520
1565
|
|
1521
|
-
module_eval(<<'.,.,', 'parser.y',
|
1522
|
-
def
|
1566
|
+
module_eval(<<'.,.,', 'parser.y', 151)
|
1567
|
+
def _reduce_48(val, _values, result)
|
1523
1568
|
val[1].each {|hash|
|
1524
1569
|
hash[:tokens].each {|id|
|
1525
1570
|
sym = @grammar.add_term(id: id)
|
@@ -1532,8 +1577,8 @@ module_eval(<<'.,.,', 'parser.y', 139)
|
|
1532
1577
|
end
|
1533
1578
|
.,.,
|
1534
1579
|
|
1535
|
-
module_eval(<<'.,.,', 'parser.y',
|
1536
|
-
def
|
1580
|
+
module_eval(<<'.,.,', 'parser.y', 161)
|
1581
|
+
def _reduce_49(val, _values, result)
|
1537
1582
|
val[1].each {|hash|
|
1538
1583
|
hash[:tokens].each {|id|
|
1539
1584
|
sym = @grammar.add_term(id: id)
|
@@ -1546,32 +1591,26 @@ module_eval(<<'.,.,', 'parser.y', 149)
|
|
1546
1591
|
end
|
1547
1592
|
.,.,
|
1548
1593
|
|
1549
|
-
|
1550
|
-
def _reduce_47(val, _values, result)
|
1551
|
-
result = val[1] ? val[1].unshift(val[0]) : val
|
1552
|
-
result
|
1553
|
-
end
|
1554
|
-
.,.,
|
1594
|
+
# reduce 50 omitted
|
1555
1595
|
|
1556
|
-
|
1557
|
-
|
1596
|
+
# reduce 51 omitted
|
1597
|
+
|
1598
|
+
module_eval(<<'.,.,', 'parser.y', 184)
|
1599
|
+
def _reduce_52(val, _values, result)
|
1558
1600
|
result = val[1] ? val[1].unshift(val[0]) : val
|
1559
1601
|
result
|
1560
1602
|
end
|
1561
1603
|
.,.,
|
1562
1604
|
|
1563
|
-
module_eval(<<'.,.,', 'parser.y',
|
1564
|
-
def
|
1565
|
-
|
1566
|
-
@grammar.add_term(id: token_declaration[0], alias_name: token_declaration[2], token_id: token_declaration[1], tag: nil, replace: true)
|
1567
|
-
}
|
1568
|
-
|
1605
|
+
module_eval(<<'.,.,', 'parser.y', 184)
|
1606
|
+
def _reduce_53(val, _values, result)
|
1607
|
+
result = val[1] ? val[1].unshift(val[0]) : val
|
1569
1608
|
result
|
1570
1609
|
end
|
1571
1610
|
.,.,
|
1572
1611
|
|
1573
|
-
module_eval(<<'.,.,', 'parser.y',
|
1574
|
-
def
|
1612
|
+
module_eval(<<'.,.,', 'parser.y', 172)
|
1613
|
+
def _reduce_54(val, _values, result)
|
1575
1614
|
val[1].each {|token_declaration|
|
1576
1615
|
@grammar.add_term(id: token_declaration[0], alias_name: token_declaration[2], token_id: token_declaration[1], tag: val[0], replace: true)
|
1577
1616
|
}
|
@@ -1580,8 +1619,8 @@ module_eval(<<'.,.,', 'parser.y', 166)
|
|
1580
1619
|
end
|
1581
1620
|
.,.,
|
1582
1621
|
|
1583
|
-
module_eval(<<'.,.,', 'parser.y',
|
1584
|
-
def
|
1622
|
+
module_eval(<<'.,.,', 'parser.y', 178)
|
1623
|
+
def _reduce_55(val, _values, result)
|
1585
1624
|
val[2].each {|token_declaration|
|
1586
1625
|
@grammar.add_term(id: token_declaration[0], alias_name: token_declaration[2], token_id: token_declaration[1], tag: val[1], replace: true)
|
1587
1626
|
}
|
@@ -1590,23 +1629,19 @@ module_eval(<<'.,.,', 'parser.y', 172)
|
|
1590
1629
|
end
|
1591
1630
|
.,.,
|
1592
1631
|
|
1593
|
-
# reduce
|
1632
|
+
# reduce 56 omitted
|
1594
1633
|
|
1595
|
-
# reduce
|
1634
|
+
# reduce 57 omitted
|
1596
1635
|
|
1597
|
-
module_eval(<<'.,.,', 'parser.y',
|
1598
|
-
def
|
1636
|
+
module_eval(<<'.,.,', 'parser.y', 183)
|
1637
|
+
def _reduce_58(val, _values, result)
|
1599
1638
|
result = val
|
1600
1639
|
result
|
1601
1640
|
end
|
1602
1641
|
.,.,
|
1603
1642
|
|
1604
|
-
|
1605
|
-
|
1606
|
-
# reduce 56 omitted
|
1607
|
-
|
1608
|
-
module_eval(<<'.,.,', 'parser.y', 181)
|
1609
|
-
def _reduce_57(val, _values, result)
|
1643
|
+
module_eval(<<'.,.,', 'parser.y', 187)
|
1644
|
+
def _reduce_59(val, _values, result)
|
1610
1645
|
rule = Grammar::ParameterizingRule::Rule.new(val[1].s_value, val[3], val[7], tag: val[5])
|
1611
1646
|
@grammar.add_parameterizing_rule(rule)
|
1612
1647
|
|
@@ -1614,8 +1649,8 @@ module_eval(<<'.,.,', 'parser.y', 181)
|
|
1614
1649
|
end
|
1615
1650
|
.,.,
|
1616
1651
|
|
1617
|
-
module_eval(<<'.,.,', 'parser.y',
|
1618
|
-
def
|
1652
|
+
module_eval(<<'.,.,', 'parser.y', 193)
|
1653
|
+
def _reduce_60(val, _values, result)
|
1619
1654
|
rule = Grammar::ParameterizingRule::Rule.new(val[2].s_value, [], val[4], is_inline: true)
|
1620
1655
|
@grammar.add_parameterizing_rule(rule)
|
1621
1656
|
|
@@ -1623,8 +1658,8 @@ module_eval(<<'.,.,', 'parser.y', 187)
|
|
1623
1658
|
end
|
1624
1659
|
.,.,
|
1625
1660
|
|
1626
|
-
module_eval(<<'.,.,', 'parser.y',
|
1627
|
-
def
|
1661
|
+
module_eval(<<'.,.,', 'parser.y', 198)
|
1662
|
+
def _reduce_61(val, _values, result)
|
1628
1663
|
rule = Grammar::ParameterizingRule::Rule.new(val[2].s_value, val[4], val[7], is_inline: true)
|
1629
1664
|
@grammar.add_parameterizing_rule(rule)
|
1630
1665
|
|
@@ -1632,22 +1667,22 @@ module_eval(<<'.,.,', 'parser.y', 192)
|
|
1632
1667
|
end
|
1633
1668
|
.,.,
|
1634
1669
|
|
1635
|
-
module_eval(<<'.,.,', 'parser.y',
|
1636
|
-
def
|
1670
|
+
module_eval(<<'.,.,', 'parser.y', 202)
|
1671
|
+
def _reduce_62(val, _values, result)
|
1637
1672
|
result = [val[0]]
|
1638
1673
|
result
|
1639
1674
|
end
|
1640
1675
|
.,.,
|
1641
1676
|
|
1642
|
-
module_eval(<<'.,.,', 'parser.y',
|
1643
|
-
def
|
1677
|
+
module_eval(<<'.,.,', 'parser.y', 203)
|
1678
|
+
def _reduce_63(val, _values, result)
|
1644
1679
|
result = val[0].append(val[2])
|
1645
1680
|
result
|
1646
1681
|
end
|
1647
1682
|
.,.,
|
1648
1683
|
|
1649
|
-
module_eval(<<'.,.,', 'parser.y',
|
1650
|
-
def
|
1684
|
+
module_eval(<<'.,.,', 'parser.y', 207)
|
1685
|
+
def _reduce_64(val, _values, result)
|
1651
1686
|
builder = val[0]
|
1652
1687
|
result = [builder]
|
1653
1688
|
|
@@ -1655,8 +1690,8 @@ module_eval(<<'.,.,', 'parser.y', 201)
|
|
1655
1690
|
end
|
1656
1691
|
.,.,
|
1657
1692
|
|
1658
|
-
module_eval(<<'.,.,', 'parser.y',
|
1659
|
-
def
|
1693
|
+
module_eval(<<'.,.,', 'parser.y', 212)
|
1694
|
+
def _reduce_65(val, _values, result)
|
1660
1695
|
builder = val[2]
|
1661
1696
|
result = val[0].append(builder)
|
1662
1697
|
|
@@ -1664,12 +1699,16 @@ module_eval(<<'.,.,', 'parser.y', 206)
|
|
1664
1699
|
end
|
1665
1700
|
.,.,
|
1666
1701
|
|
1667
|
-
# reduce
|
1702
|
+
# reduce 66 omitted
|
1668
1703
|
|
1669
|
-
# reduce
|
1704
|
+
# reduce 67 omitted
|
1670
1705
|
|
1671
|
-
|
1672
|
-
|
1706
|
+
# reduce 68 omitted
|
1707
|
+
|
1708
|
+
# reduce 69 omitted
|
1709
|
+
|
1710
|
+
module_eval(<<'.,.,', 'parser.y', 218)
|
1711
|
+
def _reduce_70(val, _values, result)
|
1673
1712
|
reset_precs
|
1674
1713
|
result = Grammar::ParameterizingRule::Rhs.new
|
1675
1714
|
|
@@ -1677,8 +1716,8 @@ module_eval(<<'.,.,', 'parser.y', 212)
|
|
1677
1716
|
end
|
1678
1717
|
.,.,
|
1679
1718
|
|
1680
|
-
module_eval(<<'.,.,', 'parser.y',
|
1681
|
-
def
|
1719
|
+
module_eval(<<'.,.,', 'parser.y', 223)
|
1720
|
+
def _reduce_71(val, _values, result)
|
1682
1721
|
token = val[1]
|
1683
1722
|
token.alias_name = val[2]
|
1684
1723
|
builder = val[0]
|
@@ -1689,8 +1728,8 @@ module_eval(<<'.,.,', 'parser.y', 217)
|
|
1689
1728
|
end
|
1690
1729
|
.,.,
|
1691
1730
|
|
1692
|
-
module_eval(<<'.,.,', 'parser.y',
|
1693
|
-
def
|
1731
|
+
module_eval(<<'.,.,', 'parser.y', 231)
|
1732
|
+
def _reduce_72(val, _values, result)
|
1694
1733
|
builder = val[0]
|
1695
1734
|
builder.symbols << Lrama::Lexer::Token::InstantiateRule.new(s_value: val[2], location: @lexer.location, args: [val[1]])
|
1696
1735
|
result = builder
|
@@ -1699,8 +1738,8 @@ module_eval(<<'.,.,', 'parser.y', 225)
|
|
1699
1738
|
end
|
1700
1739
|
.,.,
|
1701
1740
|
|
1702
|
-
module_eval(<<'.,.,', 'parser.y',
|
1703
|
-
def
|
1741
|
+
module_eval(<<'.,.,', 'parser.y', 237)
|
1742
|
+
def _reduce_73(val, _values, result)
|
1704
1743
|
builder = val[0]
|
1705
1744
|
builder.symbols << Lrama::Lexer::Token::InstantiateRule.new(s_value: val[1].s_value, location: @lexer.location, args: val[3], lhs_tag: val[5])
|
1706
1745
|
result = builder
|
@@ -1709,8 +1748,8 @@ module_eval(<<'.,.,', 'parser.y', 231)
|
|
1709
1748
|
end
|
1710
1749
|
.,.,
|
1711
1750
|
|
1712
|
-
module_eval(<<'.,.,', 'parser.y',
|
1713
|
-
def
|
1751
|
+
module_eval(<<'.,.,', 'parser.y', 243)
|
1752
|
+
def _reduce_74(val, _values, result)
|
1714
1753
|
user_code = val[1]
|
1715
1754
|
user_code.alias_name = val[2]
|
1716
1755
|
builder = val[0]
|
@@ -1721,8 +1760,8 @@ module_eval(<<'.,.,', 'parser.y', 237)
|
|
1721
1760
|
end
|
1722
1761
|
.,.,
|
1723
1762
|
|
1724
|
-
module_eval(<<'.,.,', 'parser.y',
|
1725
|
-
def
|
1763
|
+
module_eval(<<'.,.,', 'parser.y', 251)
|
1764
|
+
def _reduce_75(val, _values, result)
|
1726
1765
|
sym = @grammar.find_symbol_by_id!(val[2])
|
1727
1766
|
@prec_seen = true
|
1728
1767
|
builder = val[0]
|
@@ -1733,137 +1772,137 @@ module_eval(<<'.,.,', 'parser.y', 245)
|
|
1733
1772
|
end
|
1734
1773
|
.,.,
|
1735
1774
|
|
1736
|
-
# reduce
|
1775
|
+
# reduce 76 omitted
|
1737
1776
|
|
1738
|
-
|
1739
|
-
|
1740
|
-
|
1777
|
+
# reduce 77 omitted
|
1778
|
+
|
1779
|
+
module_eval(<<'.,.,', 'parser.y', 258)
|
1780
|
+
def _reduce_78(val, _values, result)
|
1781
|
+
result = val[0].s_value if val[0]
|
1741
1782
|
result
|
1742
1783
|
end
|
1743
1784
|
.,.,
|
1744
1785
|
|
1745
|
-
module_eval(<<'.,.,', 'parser.y',
|
1746
|
-
def
|
1786
|
+
module_eval(<<'.,.,', 'parser.y', 271)
|
1787
|
+
def _reduce_79(val, _values, result)
|
1747
1788
|
result = val[1] ? val[1].unshift(val[0]) : val
|
1748
1789
|
result
|
1749
1790
|
end
|
1750
1791
|
.,.,
|
1751
1792
|
|
1752
|
-
module_eval(<<'.,.,', 'parser.y',
|
1753
|
-
def
|
1793
|
+
module_eval(<<'.,.,', 'parser.y', 271)
|
1794
|
+
def _reduce_80(val, _values, result)
|
1754
1795
|
result = val[1] ? val[1].unshift(val[0]) : val
|
1755
1796
|
result
|
1756
1797
|
end
|
1757
1798
|
.,.,
|
1758
1799
|
|
1759
|
-
module_eval(<<'.,.,', 'parser.y',
|
1760
|
-
def
|
1761
|
-
|
1762
|
-
|
1763
|
-
|
1764
|
-
|
1800
|
+
module_eval(<<'.,.,', 'parser.y', 262)
|
1801
|
+
def _reduce_81(val, _values, result)
|
1802
|
+
result = if val[0]
|
1803
|
+
[{tag: val[0], tokens: val[1]}]
|
1804
|
+
else
|
1805
|
+
[{tag: nil, tokens: val[1]}]
|
1806
|
+
end
|
1765
1807
|
|
1766
|
-
module_eval(<<'.,.,', 'parser.y', 256)
|
1767
|
-
def _reduce_77(val, _values, result)
|
1768
|
-
result = [{tag: val[0], tokens: val[1]}]
|
1769
1808
|
result
|
1770
1809
|
end
|
1771
1810
|
.,.,
|
1772
1811
|
|
1773
|
-
module_eval(<<'.,.,', 'parser.y',
|
1774
|
-
def
|
1812
|
+
module_eval(<<'.,.,', 'parser.y', 268)
|
1813
|
+
def _reduce_82(val, _values, result)
|
1775
1814
|
result = val[0].append({tag: val[1], tokens: val[2]})
|
1776
1815
|
result
|
1777
1816
|
end
|
1778
1817
|
.,.,
|
1779
1818
|
|
1780
|
-
# reduce
|
1819
|
+
# reduce 83 omitted
|
1781
1820
|
|
1782
|
-
# reduce
|
1821
|
+
# reduce 84 omitted
|
1783
1822
|
|
1784
|
-
module_eval(<<'.,.,', 'parser.y',
|
1785
|
-
def
|
1823
|
+
module_eval(<<'.,.,', 'parser.y', 274)
|
1824
|
+
def _reduce_85(val, _values, result)
|
1786
1825
|
begin_c_declaration("}")
|
1787
1826
|
|
1788
1827
|
result
|
1789
1828
|
end
|
1790
1829
|
.,.,
|
1791
1830
|
|
1792
|
-
module_eval(<<'.,.,', 'parser.y',
|
1793
|
-
def
|
1831
|
+
module_eval(<<'.,.,', 'parser.y', 278)
|
1832
|
+
def _reduce_86(val, _values, result)
|
1794
1833
|
end_c_declaration
|
1795
1834
|
|
1796
1835
|
result
|
1797
1836
|
end
|
1798
1837
|
.,.,
|
1799
1838
|
|
1800
|
-
module_eval(<<'.,.,', 'parser.y',
|
1801
|
-
def
|
1839
|
+
module_eval(<<'.,.,', 'parser.y', 282)
|
1840
|
+
def _reduce_87(val, _values, result)
|
1802
1841
|
result = val[2]
|
1803
1842
|
|
1804
1843
|
result
|
1805
1844
|
end
|
1806
1845
|
.,.,
|
1807
1846
|
|
1808
|
-
module_eval(<<'.,.,', 'parser.y',
|
1809
|
-
def
|
1847
|
+
module_eval(<<'.,.,', 'parser.y', 290)
|
1848
|
+
def _reduce_88(val, _values, result)
|
1810
1849
|
result = val[1] ? val[1].unshift(val[0]) : val
|
1811
1850
|
result
|
1812
1851
|
end
|
1813
1852
|
.,.,
|
1814
1853
|
|
1815
|
-
module_eval(<<'.,.,', 'parser.y',
|
1816
|
-
def
|
1854
|
+
module_eval(<<'.,.,', 'parser.y', 290)
|
1855
|
+
def _reduce_89(val, _values, result)
|
1817
1856
|
result = val[1] ? val[1].unshift(val[0]) : val
|
1818
1857
|
result
|
1819
1858
|
end
|
1820
1859
|
.,.,
|
1821
1860
|
|
1822
|
-
module_eval(<<'.,.,', 'parser.y',
|
1823
|
-
def
|
1861
|
+
module_eval(<<'.,.,', 'parser.y', 285)
|
1862
|
+
def _reduce_90(val, _values, result)
|
1824
1863
|
result = [{tag: nil, tokens: val[0]}]
|
1825
1864
|
result
|
1826
1865
|
end
|
1827
1866
|
.,.,
|
1828
1867
|
|
1829
|
-
module_eval(<<'.,.,', 'parser.y',
|
1830
|
-
def
|
1868
|
+
module_eval(<<'.,.,', 'parser.y', 286)
|
1869
|
+
def _reduce_91(val, _values, result)
|
1831
1870
|
result = [{tag: val[0], tokens: val[1]}]
|
1832
1871
|
result
|
1833
1872
|
end
|
1834
1873
|
.,.,
|
1835
1874
|
|
1836
|
-
module_eval(<<'.,.,', 'parser.y',
|
1837
|
-
def
|
1875
|
+
module_eval(<<'.,.,', 'parser.y', 287)
|
1876
|
+
def _reduce_92(val, _values, result)
|
1838
1877
|
result = val[0].append({tag: val[1], tokens: val[2]})
|
1839
1878
|
result
|
1840
1879
|
end
|
1841
1880
|
.,.,
|
1842
1881
|
|
1843
|
-
module_eval(<<'.,.,', 'parser.y',
|
1844
|
-
def
|
1882
|
+
module_eval(<<'.,.,', 'parser.y', 289)
|
1883
|
+
def _reduce_93(val, _values, result)
|
1845
1884
|
on_action_error("ident after %prec", val[0]) if @prec_seen
|
1846
1885
|
result
|
1847
1886
|
end
|
1848
1887
|
.,.,
|
1849
1888
|
|
1850
|
-
module_eval(<<'.,.,', 'parser.y',
|
1851
|
-
def
|
1889
|
+
module_eval(<<'.,.,', 'parser.y', 290)
|
1890
|
+
def _reduce_94(val, _values, result)
|
1852
1891
|
on_action_error("char after %prec", val[0]) if @prec_seen
|
1853
1892
|
result
|
1854
1893
|
end
|
1855
1894
|
.,.,
|
1856
1895
|
|
1857
|
-
# reduce
|
1896
|
+
# reduce 95 omitted
|
1858
1897
|
|
1859
|
-
# reduce
|
1898
|
+
# reduce 96 omitted
|
1860
1899
|
|
1861
|
-
# reduce
|
1900
|
+
# reduce 97 omitted
|
1862
1901
|
|
1863
|
-
# reduce
|
1902
|
+
# reduce 98 omitted
|
1864
1903
|
|
1865
|
-
module_eval(<<'.,.,', 'parser.y',
|
1866
|
-
def
|
1904
|
+
module_eval(<<'.,.,', 'parser.y', 298)
|
1905
|
+
def _reduce_99(val, _values, result)
|
1867
1906
|
lhs = val[0]
|
1868
1907
|
lhs.alias_name = val[1]
|
1869
1908
|
val[3].each do |builder|
|
@@ -1876,8 +1915,8 @@ module_eval(<<'.,.,', 'parser.y', 287)
|
|
1876
1915
|
end
|
1877
1916
|
.,.,
|
1878
1917
|
|
1879
|
-
module_eval(<<'.,.,', 'parser.y',
|
1880
|
-
def
|
1918
|
+
module_eval(<<'.,.,', 'parser.y', 309)
|
1919
|
+
def _reduce_100(val, _values, result)
|
1881
1920
|
builder = val[0]
|
1882
1921
|
if !builder.line
|
1883
1922
|
builder.line = @lexer.line - 1
|
@@ -1888,8 +1927,8 @@ module_eval(<<'.,.,', 'parser.y', 298)
|
|
1888
1927
|
end
|
1889
1928
|
.,.,
|
1890
1929
|
|
1891
|
-
module_eval(<<'.,.,', 'parser.y',
|
1892
|
-
def
|
1930
|
+
module_eval(<<'.,.,', 'parser.y', 317)
|
1931
|
+
def _reduce_101(val, _values, result)
|
1893
1932
|
builder = val[2]
|
1894
1933
|
if !builder.line
|
1895
1934
|
builder.line = @lexer.line - 1
|
@@ -1900,8 +1939,8 @@ module_eval(<<'.,.,', 'parser.y', 306)
|
|
1900
1939
|
end
|
1901
1940
|
.,.,
|
1902
1941
|
|
1903
|
-
module_eval(<<'.,.,', 'parser.y',
|
1904
|
-
def
|
1942
|
+
module_eval(<<'.,.,', 'parser.y', 326)
|
1943
|
+
def _reduce_102(val, _values, result)
|
1905
1944
|
reset_precs
|
1906
1945
|
result = @grammar.create_rule_builder(@rule_counter, @midrule_action_counter)
|
1907
1946
|
|
@@ -1909,8 +1948,8 @@ module_eval(<<'.,.,', 'parser.y', 315)
|
|
1909
1948
|
end
|
1910
1949
|
.,.,
|
1911
1950
|
|
1912
|
-
module_eval(<<'.,.,', 'parser.y',
|
1913
|
-
def
|
1951
|
+
module_eval(<<'.,.,', 'parser.y', 331)
|
1952
|
+
def _reduce_103(val, _values, result)
|
1914
1953
|
token = val[1]
|
1915
1954
|
token.alias_name = val[2]
|
1916
1955
|
builder = val[0]
|
@@ -1921,8 +1960,8 @@ module_eval(<<'.,.,', 'parser.y', 320)
|
|
1921
1960
|
end
|
1922
1961
|
.,.,
|
1923
1962
|
|
1924
|
-
module_eval(<<'.,.,', 'parser.y',
|
1925
|
-
def
|
1963
|
+
module_eval(<<'.,.,', 'parser.y', 339)
|
1964
|
+
def _reduce_104(val, _values, result)
|
1926
1965
|
token = Lrama::Lexer::Token::InstantiateRule.new(s_value: val[2], alias_name: val[3], location: @lexer.location, args: [val[1]], lhs_tag: val[4])
|
1927
1966
|
builder = val[0]
|
1928
1967
|
builder.add_rhs(token)
|
@@ -1933,8 +1972,8 @@ module_eval(<<'.,.,', 'parser.y', 328)
|
|
1933
1972
|
end
|
1934
1973
|
.,.,
|
1935
1974
|
|
1936
|
-
module_eval(<<'.,.,', 'parser.y',
|
1937
|
-
def
|
1975
|
+
module_eval(<<'.,.,', 'parser.y', 347)
|
1976
|
+
def _reduce_105(val, _values, result)
|
1938
1977
|
token = Lrama::Lexer::Token::InstantiateRule.new(s_value: val[1].s_value, alias_name: val[5], location: @lexer.location, args: val[3], lhs_tag: val[6])
|
1939
1978
|
builder = val[0]
|
1940
1979
|
builder.add_rhs(token)
|
@@ -1945,8 +1984,8 @@ module_eval(<<'.,.,', 'parser.y', 336)
|
|
1945
1984
|
end
|
1946
1985
|
.,.,
|
1947
1986
|
|
1948
|
-
module_eval(<<'.,.,', 'parser.y',
|
1949
|
-
def
|
1987
|
+
module_eval(<<'.,.,', 'parser.y', 355)
|
1988
|
+
def _reduce_106(val, _values, result)
|
1950
1989
|
user_code = val[1]
|
1951
1990
|
user_code.alias_name = val[2]
|
1952
1991
|
user_code.tag = val[3]
|
@@ -1958,8 +1997,8 @@ module_eval(<<'.,.,', 'parser.y', 344)
|
|
1958
1997
|
end
|
1959
1998
|
.,.,
|
1960
1999
|
|
1961
|
-
module_eval(<<'.,.,', 'parser.y',
|
1962
|
-
def
|
2000
|
+
module_eval(<<'.,.,', 'parser.y', 364)
|
2001
|
+
def _reduce_107(val, _values, result)
|
1963
2002
|
sym = @grammar.find_symbol_by_id!(val[2])
|
1964
2003
|
@prec_seen = true
|
1965
2004
|
builder = val[0]
|
@@ -1970,57 +2009,59 @@ module_eval(<<'.,.,', 'parser.y', 353)
|
|
1970
2009
|
end
|
1971
2010
|
.,.,
|
1972
2011
|
|
1973
|
-
module_eval(<<'.,.,', 'parser.y',
|
1974
|
-
def
|
2012
|
+
module_eval(<<'.,.,', 'parser.y', 371)
|
2013
|
+
def _reduce_108(val, _values, result)
|
1975
2014
|
result = "option"
|
1976
2015
|
result
|
1977
2016
|
end
|
1978
2017
|
.,.,
|
1979
2018
|
|
1980
|
-
module_eval(<<'.,.,', 'parser.y',
|
1981
|
-
def
|
2019
|
+
module_eval(<<'.,.,', 'parser.y', 372)
|
2020
|
+
def _reduce_109(val, _values, result)
|
1982
2021
|
result = "nonempty_list"
|
1983
2022
|
result
|
1984
2023
|
end
|
1985
2024
|
.,.,
|
1986
2025
|
|
1987
|
-
module_eval(<<'.,.,', 'parser.y',
|
1988
|
-
def
|
2026
|
+
module_eval(<<'.,.,', 'parser.y', 373)
|
2027
|
+
def _reduce_110(val, _values, result)
|
1989
2028
|
result = "list"
|
1990
2029
|
result
|
1991
2030
|
end
|
1992
2031
|
.,.,
|
1993
2032
|
|
1994
|
-
|
1995
|
-
|
1996
|
-
|
1997
|
-
|
1998
|
-
|
1999
|
-
|
2033
|
+
# reduce 111 omitted
|
2034
|
+
|
2035
|
+
# reduce 112 omitted
|
2036
|
+
|
2037
|
+
module_eval(<<'.,.,', 'parser.y', 377)
|
2038
|
+
def _reduce_113(val, _values, result)
|
2039
|
+
result = if val[1]
|
2040
|
+
[Lrama::Lexer::Token::InstantiateRule.new(s_value: val[1].s_value, location: @lexer.location, args: val[0])]
|
2041
|
+
else
|
2042
|
+
[val[0]]
|
2043
|
+
end
|
2000
2044
|
|
2001
|
-
module_eval(<<'.,.,', 'parser.y', 365)
|
2002
|
-
def _reduce_108(val, _values, result)
|
2003
|
-
result = val[0].append(val[2])
|
2004
2045
|
result
|
2005
2046
|
end
|
2006
2047
|
.,.,
|
2007
2048
|
|
2008
|
-
module_eval(<<'.,.,', 'parser.y',
|
2009
|
-
def
|
2010
|
-
result =
|
2049
|
+
module_eval(<<'.,.,', 'parser.y', 383)
|
2050
|
+
def _reduce_114(val, _values, result)
|
2051
|
+
result = val[0].append(val[2])
|
2011
2052
|
result
|
2012
2053
|
end
|
2013
2054
|
.,.,
|
2014
2055
|
|
2015
|
-
module_eval(<<'.,.,', 'parser.y',
|
2016
|
-
def
|
2056
|
+
module_eval(<<'.,.,', 'parser.y', 384)
|
2057
|
+
def _reduce_115(val, _values, result)
|
2017
2058
|
result = [Lrama::Lexer::Token::InstantiateRule.new(s_value: val[0].s_value, location: @lexer.location, args: val[2])]
|
2018
2059
|
result
|
2019
2060
|
end
|
2020
2061
|
.,.,
|
2021
2062
|
|
2022
|
-
module_eval(<<'.,.,', 'parser.y',
|
2023
|
-
def
|
2063
|
+
module_eval(<<'.,.,', 'parser.y', 388)
|
2064
|
+
def _reduce_116(val, _values, result)
|
2024
2065
|
if @prec_seen
|
2025
2066
|
on_action_error("multiple User_code after %prec", val[0]) if @code_after_prec
|
2026
2067
|
@code_after_prec = true
|
@@ -2031,31 +2072,31 @@ module_eval(<<'.,.,', 'parser.y', 371)
|
|
2031
2072
|
end
|
2032
2073
|
.,.,
|
2033
2074
|
|
2034
|
-
module_eval(<<'.,.,', 'parser.y',
|
2035
|
-
def
|
2075
|
+
module_eval(<<'.,.,', 'parser.y', 396)
|
2076
|
+
def _reduce_117(val, _values, result)
|
2036
2077
|
end_c_declaration
|
2037
2078
|
|
2038
2079
|
result
|
2039
2080
|
end
|
2040
2081
|
.,.,
|
2041
2082
|
|
2042
|
-
module_eval(<<'.,.,', 'parser.y',
|
2043
|
-
def
|
2083
|
+
module_eval(<<'.,.,', 'parser.y', 400)
|
2084
|
+
def _reduce_118(val, _values, result)
|
2044
2085
|
result = val[2]
|
2045
2086
|
|
2046
2087
|
result
|
2047
2088
|
end
|
2048
2089
|
.,.,
|
2049
2090
|
|
2050
|
-
module_eval(<<'.,.,', 'parser.y',
|
2051
|
-
def
|
2091
|
+
module_eval(<<'.,.,', 'parser.y', 403)
|
2092
|
+
def _reduce_119(val, _values, result)
|
2052
2093
|
result = val[1].s_value
|
2053
2094
|
result
|
2054
2095
|
end
|
2055
2096
|
.,.,
|
2056
2097
|
|
2057
|
-
module_eval(<<'.,.,', 'parser.y',
|
2058
|
-
def
|
2098
|
+
module_eval(<<'.,.,', 'parser.y', 407)
|
2099
|
+
def _reduce_120(val, _values, result)
|
2059
2100
|
begin_c_declaration('\Z')
|
2060
2101
|
@grammar.epilogue_first_lineno = @lexer.line + 1
|
2061
2102
|
|
@@ -2063,8 +2104,8 @@ module_eval(<<'.,.,', 'parser.y', 390)
|
|
2063
2104
|
end
|
2064
2105
|
.,.,
|
2065
2106
|
|
2066
|
-
module_eval(<<'.,.,', 'parser.y',
|
2067
|
-
def
|
2107
|
+
module_eval(<<'.,.,', 'parser.y', 412)
|
2108
|
+
def _reduce_121(val, _values, result)
|
2068
2109
|
end_c_declaration
|
2069
2110
|
@grammar.epilogue = val[2].s_value
|
2070
2111
|
|
@@ -2072,16 +2113,6 @@ module_eval(<<'.,.,', 'parser.y', 395)
|
|
2072
2113
|
end
|
2073
2114
|
.,.,
|
2074
2115
|
|
2075
|
-
# reduce 117 omitted
|
2076
|
-
|
2077
|
-
# reduce 118 omitted
|
2078
|
-
|
2079
|
-
# reduce 119 omitted
|
2080
|
-
|
2081
|
-
# reduce 120 omitted
|
2082
|
-
|
2083
|
-
# reduce 121 omitted
|
2084
|
-
|
2085
2116
|
# reduce 122 omitted
|
2086
2117
|
|
2087
2118
|
# reduce 123 omitted
|
@@ -2090,8 +2121,10 @@ module_eval(<<'.,.,', 'parser.y', 395)
|
|
2090
2121
|
|
2091
2122
|
# reduce 125 omitted
|
2092
2123
|
|
2093
|
-
|
2094
|
-
|
2124
|
+
# reduce 126 omitted
|
2125
|
+
|
2126
|
+
module_eval(<<'.,.,', 'parser.y', 423)
|
2127
|
+
def _reduce_127(val, _values, result)
|
2095
2128
|
result = Lrama::Lexer::Token::Ident.new(s_value: val[0])
|
2096
2129
|
result
|
2097
2130
|
end
|