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