lrama 0.5.8 → 0.5.9
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 +1 -1
- data/Gemfile +1 -1
- data/README.md +3 -3
- data/Rakefile +2 -7
- data/Steepfile +9 -1
- data/lib/lrama/command.rb +6 -1
- data/lib/lrama/grammar/percent_code.rb +12 -0
- data/lib/lrama/grammar/symbol.rb +2 -2
- data/lib/lrama/grammar.rb +100 -55
- data/lib/lrama/lexer/token/char.rb +8 -0
- data/lib/lrama/lexer/token/ident.rb +8 -0
- data/lib/lrama/lexer/token/parameterizing.rb +19 -0
- data/lib/lrama/lexer/token/tag.rb +8 -0
- data/lib/lrama/lexer/token/user_code.rb +14 -0
- data/lib/lrama/lexer/token.rb +9 -67
- data/lib/lrama/lexer.rb +14 -15
- data/lib/lrama/option_parser.rb +2 -1
- data/lib/lrama/options.rb +2 -1
- data/lib/lrama/output.rb +9 -0
- data/lib/lrama/parser.rb +500 -458
- data/lib/lrama/version.rb +1 -1
- data/parser.y +97 -73
- data/rbs_collection.lock.yaml +13 -1
- data/sample/calc.y +3 -1
- data/sample/parse.y +5 -1
- data/sig/lrama/grammar/percent_code.rbs +10 -0
- data/sig/lrama/grammar/reference.rbs +22 -0
- data/sig/lrama/grammar.rbs +5 -0
- data/sig/lrama/lexer/token/char.rbs +8 -0
- data/sig/lrama/lexer/token/ident.rbs +8 -0
- data/sig/lrama/lexer/token/parameterizing.rbs +8 -0
- data/sig/lrama/lexer/token/tag.rbs +8 -0
- data/sig/lrama/lexer/token/user_code.rbs +9 -0
- data/sig/lrama/lexer/token.rbs +17 -0
- data/template/bison/_yacc.h +2 -2
- data/template/bison/yacc.c +0 -2
- metadata +17 -4
- data/lib/lrama/lexer/token/type.rb +0 -8
- data/sig/lrama/lexer/token/type.rbs +0 -17
data/lib/lrama/parser.rb
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
#
|
2
2
|
# DO NOT MODIFY!!!!
|
3
|
-
# This file is automatically generated by Racc 1.7.
|
4
|
-
# from Racc grammar file "".
|
3
|
+
# This file is automatically generated by Racc 1.7.3
|
4
|
+
# from Racc grammar file "parser.y".
|
5
5
|
#
|
6
6
|
|
7
7
|
###### racc/parser.rb begin
|
8
8
|
unless $".find {|p| p.end_with?('/racc/parser.rb')}
|
9
9
|
$".push "#{__dir__}/racc/parser.rb"
|
10
10
|
self.class.module_eval(<<'...end racc/parser.rb/module_eval...', 'racc/parser.rb', 1)
|
11
|
-
# frozen_string_literal: false
|
12
11
|
#--
|
13
12
|
# Copyright (c) 1999-2006 Minero Aoki
|
14
13
|
#
|
@@ -22,20 +21,9 @@ self.class.module_eval(<<'...end racc/parser.rb/module_eval...', 'racc/parser.rb
|
|
22
21
|
|
23
22
|
unless $".find {|p| p.end_with?('/racc/info.rb')}
|
24
23
|
$".push "#{__dir__}/racc/info.rb"
|
25
|
-
#--
|
26
|
-
#
|
27
|
-
#
|
28
|
-
#
|
29
|
-
# Copyright (c) 1999-2006 Minero Aoki
|
30
|
-
#
|
31
|
-
# This program is free software.
|
32
|
-
# You can distribute/modify this program under the same terms of ruby.
|
33
|
-
# see the file "COPYING".
|
34
|
-
#
|
35
|
-
#++
|
36
24
|
|
37
25
|
module Racc
|
38
|
-
VERSION = '1.7.
|
26
|
+
VERSION = '1.7.3'
|
39
27
|
Version = VERSION
|
40
28
|
Copyright = 'Copyright (c) 1999-2006 Minero Aoki'
|
41
29
|
end
|
@@ -84,10 +72,12 @@ end
|
|
84
72
|
# [-v, --verbose]
|
85
73
|
# verbose mode. create +filename+.output file, like yacc's y.output file.
|
86
74
|
# [-g, --debug]
|
87
|
-
# add debug code to parser class. To display
|
75
|
+
# add debug code to parser class. To display debugging information,
|
88
76
|
# use this '-g' option and set @yydebug true in parser class.
|
89
77
|
# [-E, --embedded]
|
90
78
|
# Output parser which doesn't need runtime files (racc/parser.rb).
|
79
|
+
# [-F, --frozen]
|
80
|
+
# Output parser which declares frozen_string_literals: true
|
91
81
|
# [-C, --check-only]
|
92
82
|
# Check syntax of racc grammar file and quit.
|
93
83
|
# [-S, --output-status]
|
@@ -566,7 +556,7 @@ module Racc
|
|
566
556
|
#
|
567
557
|
# If this method returns, parsers enter "error recovering mode".
|
568
558
|
def on_error(t, val, vstack)
|
569
|
-
raise ParseError, sprintf("
|
559
|
+
raise ParseError, sprintf("parse error on value %s (%s)",
|
570
560
|
val.inspect, token_to_str(t) || '?')
|
571
561
|
end
|
572
562
|
|
@@ -668,13 +658,14 @@ end
|
|
668
658
|
module Lrama
|
669
659
|
class Parser < Racc::Parser
|
670
660
|
|
671
|
-
module_eval(<<'...end parser.y/module_eval...', 'parser.y',
|
661
|
+
module_eval(<<'...end parser.y/module_eval...', 'parser.y', 383)
|
672
662
|
|
673
663
|
include Lrama::Report::Duration
|
674
664
|
|
675
|
-
def initialize(text, path)
|
665
|
+
def initialize(text, path, debug = false)
|
676
666
|
@text = text
|
677
667
|
@path = path
|
668
|
+
@yydebug = debug
|
678
669
|
end
|
679
670
|
|
680
671
|
def parse
|
@@ -682,8 +673,8 @@ def parse
|
|
682
673
|
@lexer = Lrama::Lexer.new(@text)
|
683
674
|
@grammar = Lrama::Grammar.new
|
684
675
|
@precedence_number = 0
|
676
|
+
reset_precs
|
685
677
|
do_parse
|
686
|
-
@grammar.extract_references
|
687
678
|
@grammar.prepare
|
688
679
|
@grammar.compute_nullable
|
689
680
|
@grammar.compute_first_set
|
@@ -697,253 +688,287 @@ def next_token
|
|
697
688
|
end
|
698
689
|
|
699
690
|
def on_error(error_token_id, error_value, value_stack)
|
700
|
-
|
691
|
+
if error_value.respond_to?(:line) && error_value.respond_to?(:column)
|
692
|
+
line = error_value.line
|
693
|
+
first_column = error_value.column
|
694
|
+
else
|
695
|
+
line = @lexer.line
|
696
|
+
first_column = @lexer.head_column
|
697
|
+
end
|
698
|
+
|
701
699
|
raise ParseError, <<~ERROR
|
702
|
-
#{@path}:#{
|
703
|
-
#{
|
704
|
-
#{
|
700
|
+
#{@path}:#{line}:#{first_column}: parse error on value #{error_value.inspect} (#{token_to_str(error_token_id) || '?'})
|
701
|
+
#{@text.split("\n")[line - 1]}
|
702
|
+
#{carrets(first_column)}
|
705
703
|
ERROR
|
706
704
|
end
|
705
|
+
|
706
|
+
private
|
707
|
+
|
708
|
+
def reset_precs
|
709
|
+
@prec_seen = false
|
710
|
+
@code_after_prec = false
|
711
|
+
end
|
712
|
+
|
713
|
+
def begin_c_declaration(end_symbol)
|
714
|
+
@lexer.status = :c_declaration
|
715
|
+
@lexer.end_symbol = end_symbol
|
716
|
+
end
|
717
|
+
|
718
|
+
def end_c_declaration
|
719
|
+
@lexer.status = :initial
|
720
|
+
@lexer.end_symbol = nil
|
721
|
+
end
|
722
|
+
|
723
|
+
def carrets(first_column)
|
724
|
+
' ' * (first_column + 1) + '^' * (@lexer.column - first_column)
|
725
|
+
end
|
707
726
|
...end parser.y/module_eval...
|
708
727
|
##### State transition tables begin ###
|
709
728
|
|
710
729
|
racc_action_table = [
|
711
|
-
|
712
|
-
|
713
|
-
|
714
|
-
|
715
|
-
|
716
|
-
|
717
|
-
|
718
|
-
|
719
|
-
|
720
|
-
|
721
|
-
|
722
|
-
42, 42,
|
723
|
-
|
724
|
-
|
725
|
-
42, 42,
|
726
|
-
|
727
|
-
|
728
|
-
|
729
|
-
|
730
|
-
|
730
|
+
84, 137, 85, 3, 6, 43, 7, 42, 39, 67,
|
731
|
+
43, 8, 42, 136, 67, 43, 43, 42, 42, 33,
|
732
|
+
58, 142, 43, 43, 42, 42, 142, 21, 23, 24,
|
733
|
+
25, 26, 27, 28, 29, 30, 31, 86, 139, 140,
|
734
|
+
141, 143, 39, 139, 140, 141, 143, 79, 43, 43,
|
735
|
+
42, 42, 67, 63, 70, 43, 43, 42, 42, 40,
|
736
|
+
70, 21, 23, 24, 25, 26, 27, 28, 29, 30,
|
737
|
+
31, 9, 45, 47, 14, 12, 13, 15, 16, 17,
|
738
|
+
18, 47, 47, 19, 20, 21, 23, 24, 25, 26,
|
739
|
+
27, 28, 29, 30, 31, 43, 43, 42, 42, 50,
|
740
|
+
70, 70, 43, 43, 42, 42, 67, 161, 43, 43,
|
741
|
+
42, 42, 67, 161, 43, 43, 42, 42, 67, 161,
|
742
|
+
43, 43, 42, 42, 67, 161, 43, 43, 42, 42,
|
743
|
+
67, 161, 43, 43, 42, 42, 67, 161, 43, 43,
|
744
|
+
42, 42, 67, 67, 43, 43, 42, 42, 67, 67,
|
745
|
+
43, 43, 42, 42, 67, 67, 43, 43, 42, 42,
|
746
|
+
43, 43, 42, 42, 51, 52, 53, 54, 55, 76,
|
747
|
+
80, 82, 87, 87, 87, 89, 95, 99, 100, 108,
|
748
|
+
109, 111, 113, 114, 115, 116, 117, 120, 122, 123,
|
749
|
+
126, 127, 128, 130, 145, 147, 148, 149, 150, 151,
|
750
|
+
126, 82, 156, 157, 164, 167, 82 ]
|
731
751
|
|
732
752
|
racc_action_check = [
|
733
|
-
|
734
|
-
|
735
|
-
|
736
|
-
|
737
|
-
|
738
|
-
|
739
|
-
|
740
|
-
|
741
|
-
|
742
|
-
|
743
|
-
|
744
|
-
|
745
|
-
|
746
|
-
|
747
|
-
|
748
|
-
|
749
|
-
|
750
|
-
|
751
|
-
|
752
|
-
|
753
|
+
41, 124, 41, 1, 2, 125, 2, 125, 9, 125,
|
754
|
+
152, 3, 152, 124, 152, 26, 13, 26, 13, 7,
|
755
|
+
26, 125, 57, 58, 57, 58, 152, 9, 9, 9,
|
756
|
+
9, 9, 9, 9, 9, 9, 9, 41, 125, 125,
|
757
|
+
125, 125, 34, 152, 152, 152, 152, 34, 27, 28,
|
758
|
+
27, 28, 27, 27, 28, 29, 68, 29, 68, 12,
|
759
|
+
29, 34, 34, 34, 34, 34, 34, 34, 34, 34,
|
760
|
+
34, 4, 14, 15, 4, 4, 4, 4, 4, 4,
|
761
|
+
4, 16, 17, 4, 4, 4, 4, 4, 4, 4,
|
762
|
+
4, 4, 4, 4, 4, 30, 31, 30, 31, 18,
|
763
|
+
30, 31, 149, 69, 149, 69, 149, 149, 150, 70,
|
764
|
+
150, 70, 150, 150, 151, 73, 151, 73, 151, 151,
|
765
|
+
158, 74, 158, 74, 158, 158, 162, 75, 162, 75,
|
766
|
+
162, 162, 163, 95, 163, 95, 163, 163, 62, 63,
|
767
|
+
62, 63, 62, 63, 100, 102, 100, 102, 100, 102,
|
768
|
+
121, 143, 121, 143, 121, 143, 97, 103, 97, 103,
|
769
|
+
105, 118, 105, 118, 19, 21, 23, 24, 25, 32,
|
770
|
+
37, 38, 46, 48, 49, 50, 56, 60, 61, 81,
|
771
|
+
82, 88, 90, 91, 92, 93, 94, 98, 106, 107,
|
772
|
+
108, 109, 110, 112, 129, 131, 132, 133, 134, 135,
|
773
|
+
136, 138, 144, 146, 154, 166, 167 ]
|
753
774
|
|
754
775
|
racc_action_pointer = [
|
755
|
-
nil,
|
756
|
-
nil, nil,
|
757
|
-
|
758
|
-
|
759
|
-
-5, nil, nil, nil, nil,
|
760
|
-
nil, nil, nil, nil,
|
761
|
-
|
762
|
-
nil,
|
763
|
-
|
764
|
-
|
765
|
-
|
766
|
-
|
767
|
-
|
768
|
-
|
769
|
-
nil,
|
770
|
-
|
771
|
-
|
776
|
+
nil, 3, -6, 11, 62, nil, nil, 12, nil, 4,
|
777
|
+
nil, nil, 53, 13, 65, 54, 62, 63, 94, 145,
|
778
|
+
nil, 146, nil, 147, 148, 149, 12, 45, 46, 52,
|
779
|
+
92, 93, 167, nil, 38, nil, nil, 148, 131, nil,
|
780
|
+
nil, -5, nil, nil, nil, nil, 153, nil, 154, 155,
|
781
|
+
156, nil, nil, nil, nil, nil, 168, 19, 20, nil,
|
782
|
+
171, 170, 135, 136, nil, nil, nil, nil, 53, 100,
|
783
|
+
106, nil, nil, 112, 118, 124, nil, nil, nil, nil,
|
784
|
+
nil, 146, 175, nil, nil, nil, nil, nil, 179, nil,
|
785
|
+
180, 181, 182, 183, 184, 130, nil, 153, 180, nil,
|
786
|
+
141, nil, 142, 154, nil, 157, 177, 187, 155, 150,
|
787
|
+
190, nil, 191, nil, nil, nil, nil, nil, 158, nil,
|
788
|
+
nil, 147, nil, nil, -21, 2, nil, nil, nil, 174,
|
789
|
+
nil, 175, 176, 177, 178, 179, 165, nil, 161, nil,
|
790
|
+
nil, nil, nil, 148, 182, nil, 183, nil, nil, 99,
|
791
|
+
105, 111, 7, nil, 202, nil, nil, nil, 117, nil,
|
792
|
+
nil, nil, 123, 129, nil, nil, 185, 166, nil ]
|
772
793
|
|
773
794
|
racc_action_default = [
|
774
|
-
-2, -
|
775
|
-
-9, -10, -
|
776
|
-
-
|
777
|
-
-
|
778
|
-
-
|
779
|
-
-
|
780
|
-
-
|
781
|
-
-
|
782
|
-
|
783
|
-
-
|
784
|
-
|
785
|
-
|
786
|
-
-
|
787
|
-
|
788
|
-
-
|
789
|
-
|
790
|
-
-
|
795
|
+
-2, -108, -8, -108, -108, -3, -4, -108, 169, -108,
|
796
|
+
-9, -10, -108, -108, -108, -108, -108, -108, -108, -108,
|
797
|
+
-23, -108, -27, -108, -108, -108, -108, -108, -108, -108,
|
798
|
+
-108, -108, -108, -7, -95, -74, -76, -108, -92, -94,
|
799
|
+
-11, -99, -72, -73, -98, -13, -14, -63, -15, -16,
|
800
|
+
-108, -20, -24, -28, -31, -34, -37, -43, -108, -46,
|
801
|
+
-49, -38, -53, -108, -56, -58, -59, -107, -39, -66,
|
802
|
+
-108, -69, -71, -40, -41, -42, -5, -1, -75, -96,
|
803
|
+
-77, -108, -108, -12, -100, -101, -102, -60, -108, -17,
|
804
|
+
-108, -108, -108, -108, -108, -108, -47, -44, -51, -50,
|
805
|
+
-108, -57, -54, -68, -70, -67, -108, -108, -82, -108,
|
806
|
+
-108, -64, -108, -21, -25, -29, -32, -35, -45, -48,
|
807
|
+
-52, -55, -6, -97, -78, -79, -83, -93, -61, -108,
|
808
|
+
-18, -108, -108, -108, -108, -108, -82, -81, -92, -85,
|
809
|
+
-86, -87, -88, -108, -108, -65, -108, -22, -26, -108,
|
810
|
+
-108, -108, -80, -84, -108, -91, -62, -19, -30, -103,
|
811
|
+
-105, -106, -33, -36, -89, -104, -108, -92, -90 ]
|
791
812
|
|
792
813
|
racc_goto_table = [
|
793
|
-
|
794
|
-
|
795
|
-
2,
|
796
|
-
|
797
|
-
|
798
|
-
|
799
|
-
|
800
|
-
|
801
|
-
|
802
|
-
|
803
|
-
|
804
|
-
nil,
|
805
|
-
|
814
|
+
81, 64, 44, 57, 62, 96, 125, 104, 35, 165,
|
815
|
+
46, 48, 49, 165, 165, 60, 1, 72, 72, 72,
|
816
|
+
72, 103, 2, 105, 4, 34, 103, 103, 103, 68,
|
817
|
+
73, 74, 75, 78, 152, 97, 101, 64, 77, 5,
|
818
|
+
102, 104, 32, 104, 106, 96, 60, 60, 158, 162,
|
819
|
+
163, 10, 11, 41, 83, 112, 146, 72, 72, 72,
|
820
|
+
90, 131, 72, 72, 72, 91, 96, 132, 92, 133,
|
821
|
+
93, 134, 118, 94, 64, 135, 101, 121, 56, 61,
|
822
|
+
98, 119, 110, 144, 60, 88, 60, 129, 124, 154,
|
823
|
+
166, 107, 72, nil, 72, 101, nil, nil, nil, 138,
|
824
|
+
153, nil, nil, nil, nil, nil, nil, 60, nil, nil,
|
825
|
+
nil, nil, nil, nil, nil, nil, nil, 155, nil, nil,
|
826
|
+
nil, nil, nil, nil, nil, nil, 138, nil, nil, 168 ]
|
806
827
|
|
807
828
|
racc_goto_check = [
|
808
|
-
|
809
|
-
|
810
|
-
2,
|
811
|
-
|
812
|
-
|
813
|
-
|
814
|
-
|
815
|
-
24,
|
816
|
-
|
817
|
-
|
818
|
-
|
819
|
-
nil,
|
820
|
-
|
829
|
+
48, 37, 33, 31, 36, 32, 50, 44, 45, 54,
|
830
|
+
13, 13, 13, 54, 54, 33, 1, 33, 33, 33,
|
831
|
+
33, 43, 2, 43, 3, 4, 43, 43, 43, 30,
|
832
|
+
30, 30, 30, 45, 50, 31, 37, 37, 5, 6,
|
833
|
+
36, 44, 7, 44, 8, 32, 33, 33, 19, 19,
|
834
|
+
19, 9, 10, 11, 12, 14, 15, 33, 33, 33,
|
835
|
+
16, 17, 33, 33, 33, 20, 32, 21, 22, 23,
|
836
|
+
24, 25, 31, 26, 37, 27, 37, 36, 28, 29,
|
837
|
+
34, 35, 39, 40, 33, 41, 33, 42, 49, 51,
|
838
|
+
52, 53, 33, nil, 33, 37, nil, nil, nil, 37,
|
839
|
+
48, nil, nil, nil, nil, nil, nil, 33, nil, nil,
|
840
|
+
nil, nil, nil, nil, nil, nil, nil, 37, nil, nil,
|
841
|
+
nil, nil, nil, nil, nil, nil, 37, nil, nil, 48 ]
|
821
842
|
|
822
843
|
racc_goto_pointer = [
|
823
|
-
nil,
|
824
|
-
48, 40,
|
825
|
-
15, -
|
826
|
-
-
|
827
|
-
-
|
828
|
-
|
844
|
+
nil, 16, 22, 22, 16, 4, 37, 36, -32, 47,
|
845
|
+
48, 40, 13, -5, -34, -74, 9, -52, nil, -101,
|
846
|
+
13, -47, 15, -46, 16, -45, 18, -42, 52, 52,
|
847
|
+
1, -23, -52, -11, 20, -17, -23, -26, nil, -5,
|
848
|
+
-45, 38, -24, -47, -62, -1, nil, nil, -38, -20,
|
849
|
+
-102, -53, -74, 12, -149 ]
|
829
850
|
|
830
851
|
racc_goto_default = [
|
831
852
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
832
|
-
|
853
|
+
37, nil, nil, nil, nil, nil, nil, nil, 22, nil,
|
833
854
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
834
|
-
|
835
|
-
nil,
|
836
|
-
nil, nil, nil, nil,
|
855
|
+
nil, nil, 59, 65, nil, nil, nil, 160, 66, nil,
|
856
|
+
nil, nil, nil, 69, 71, nil, 36, 38, nil, nil,
|
857
|
+
nil, nil, nil, nil, 159 ]
|
837
858
|
|
838
859
|
racc_reduce_table = [
|
839
860
|
0, 0, :racc_error,
|
840
|
-
5,
|
841
|
-
0,
|
842
|
-
2,
|
843
|
-
0,
|
844
|
-
0,
|
845
|
-
5,
|
846
|
-
2,
|
847
|
-
0,
|
848
|
-
2,
|
849
|
-
1,
|
850
|
-
2,
|
851
|
-
3,
|
852
|
-
2,
|
853
|
-
2,
|
854
|
-
2,
|
855
|
-
2,
|
856
|
-
0,
|
857
|
-
0,
|
858
|
-
|
859
|
-
|
860
|
-
0,
|
861
|
-
|
862
|
-
|
863
|
-
|
864
|
-
0,
|
865
|
-
|
866
|
-
|
867
|
-
0,
|
868
|
-
0,
|
869
|
-
7,
|
870
|
-
0,
|
871
|
-
0,
|
872
|
-
7,
|
873
|
-
|
874
|
-
|
875
|
-
|
876
|
-
2,
|
877
|
-
2,
|
878
|
-
2,
|
879
|
-
|
880
|
-
2,
|
881
|
-
|
882
|
-
1,
|
883
|
-
2,
|
884
|
-
3,
|
885
|
-
|
886
|
-
|
887
|
-
|
888
|
-
|
889
|
-
1,
|
890
|
-
|
891
|
-
|
861
|
+
5, 44, :_reduce_none,
|
862
|
+
0, 45, :_reduce_none,
|
863
|
+
2, 45, :_reduce_none,
|
864
|
+
0, 50, :_reduce_4,
|
865
|
+
0, 51, :_reduce_5,
|
866
|
+
5, 49, :_reduce_6,
|
867
|
+
2, 49, :_reduce_none,
|
868
|
+
0, 46, :_reduce_8,
|
869
|
+
2, 46, :_reduce_none,
|
870
|
+
1, 52, :_reduce_none,
|
871
|
+
2, 52, :_reduce_11,
|
872
|
+
3, 52, :_reduce_none,
|
873
|
+
2, 52, :_reduce_none,
|
874
|
+
2, 52, :_reduce_none,
|
875
|
+
2, 52, :_reduce_15,
|
876
|
+
2, 52, :_reduce_16,
|
877
|
+
0, 57, :_reduce_17,
|
878
|
+
0, 58, :_reduce_18,
|
879
|
+
7, 52, :_reduce_19,
|
880
|
+
0, 59, :_reduce_20,
|
881
|
+
0, 60, :_reduce_21,
|
882
|
+
6, 52, :_reduce_22,
|
883
|
+
1, 52, :_reduce_none,
|
884
|
+
0, 63, :_reduce_24,
|
885
|
+
0, 64, :_reduce_25,
|
886
|
+
6, 53, :_reduce_26,
|
887
|
+
1, 53, :_reduce_none,
|
888
|
+
0, 65, :_reduce_28,
|
889
|
+
0, 66, :_reduce_29,
|
890
|
+
7, 53, :_reduce_none,
|
891
|
+
0, 67, :_reduce_31,
|
892
|
+
0, 68, :_reduce_32,
|
893
|
+
7, 53, :_reduce_33,
|
894
|
+
0, 69, :_reduce_34,
|
895
|
+
0, 70, :_reduce_35,
|
896
|
+
7, 53, :_reduce_36,
|
897
|
+
2, 61, :_reduce_none,
|
898
|
+
2, 61, :_reduce_38,
|
899
|
+
2, 61, :_reduce_39,
|
900
|
+
2, 61, :_reduce_40,
|
901
|
+
2, 61, :_reduce_41,
|
902
|
+
2, 61, :_reduce_42,
|
903
|
+
1, 71, :_reduce_43,
|
904
|
+
2, 71, :_reduce_44,
|
905
|
+
3, 71, :_reduce_45,
|
906
|
+
1, 74, :_reduce_46,
|
907
|
+
2, 74, :_reduce_47,
|
908
|
+
3, 75, :_reduce_48,
|
909
|
+
0, 77, :_reduce_none,
|
910
|
+
1, 77, :_reduce_none,
|
911
|
+
0, 78, :_reduce_none,
|
912
|
+
1, 78, :_reduce_none,
|
892
913
|
1, 72, :_reduce_53,
|
893
914
|
2, 72, :_reduce_54,
|
894
|
-
|
895
|
-
1,
|
896
|
-
|
897
|
-
0, 76, :_reduce_58,
|
898
|
-
6, 51, :_reduce_59,
|
899
|
-
0, 77, :_reduce_60,
|
900
|
-
0, 78, :_reduce_61,
|
901
|
-
5, 51, :_reduce_62,
|
902
|
-
1, 66, :_reduce_63,
|
903
|
-
2, 66, :_reduce_64,
|
904
|
-
2, 66, :_reduce_65,
|
905
|
-
1, 79, :_reduce_66,
|
906
|
-
2, 79, :_reduce_67,
|
915
|
+
3, 72, :_reduce_55,
|
916
|
+
1, 79, :_reduce_56,
|
917
|
+
2, 79, :_reduce_57,
|
907
918
|
1, 80, :_reduce_none,
|
908
|
-
1,
|
909
|
-
|
910
|
-
|
911
|
-
|
912
|
-
|
913
|
-
|
914
|
-
|
915
|
-
1,
|
916
|
-
|
917
|
-
2,
|
918
|
-
|
919
|
-
|
920
|
-
|
921
|
-
|
922
|
-
|
923
|
-
|
924
|
-
|
925
|
-
|
926
|
-
|
927
|
-
|
928
|
-
|
929
|
-
|
930
|
-
|
931
|
-
0,
|
932
|
-
|
933
|
-
|
934
|
-
|
935
|
-
|
936
|
-
|
937
|
-
|
938
|
-
|
939
|
-
|
940
|
-
|
941
|
-
|
942
|
-
|
943
|
-
|
944
|
-
|
945
|
-
|
946
|
-
|
919
|
+
1, 80, :_reduce_none,
|
920
|
+
0, 82, :_reduce_60,
|
921
|
+
0, 83, :_reduce_61,
|
922
|
+
6, 56, :_reduce_62,
|
923
|
+
0, 84, :_reduce_63,
|
924
|
+
0, 85, :_reduce_64,
|
925
|
+
5, 56, :_reduce_65,
|
926
|
+
1, 73, :_reduce_66,
|
927
|
+
2, 73, :_reduce_67,
|
928
|
+
2, 73, :_reduce_68,
|
929
|
+
1, 86, :_reduce_69,
|
930
|
+
2, 86, :_reduce_70,
|
931
|
+
1, 87, :_reduce_none,
|
932
|
+
1, 76, :_reduce_72,
|
933
|
+
1, 76, :_reduce_73,
|
934
|
+
1, 47, :_reduce_none,
|
935
|
+
2, 47, :_reduce_none,
|
936
|
+
1, 88, :_reduce_none,
|
937
|
+
2, 88, :_reduce_none,
|
938
|
+
4, 89, :_reduce_78,
|
939
|
+
1, 92, :_reduce_79,
|
940
|
+
3, 92, :_reduce_80,
|
941
|
+
2, 92, :_reduce_none,
|
942
|
+
0, 93, :_reduce_82,
|
943
|
+
1, 93, :_reduce_83,
|
944
|
+
3, 93, :_reduce_84,
|
945
|
+
2, 93, :_reduce_85,
|
946
|
+
2, 93, :_reduce_86,
|
947
|
+
2, 93, :_reduce_87,
|
948
|
+
0, 94, :_reduce_88,
|
949
|
+
0, 95, :_reduce_89,
|
950
|
+
7, 93, :_reduce_90,
|
951
|
+
3, 93, :_reduce_91,
|
952
|
+
0, 91, :_reduce_none,
|
953
|
+
3, 91, :_reduce_93,
|
954
|
+
1, 90, :_reduce_none,
|
955
|
+
0, 48, :_reduce_none,
|
956
|
+
0, 96, :_reduce_96,
|
957
|
+
3, 48, :_reduce_97,
|
958
|
+
1, 54, :_reduce_none,
|
959
|
+
0, 55, :_reduce_none,
|
960
|
+
1, 55, :_reduce_none,
|
961
|
+
1, 55, :_reduce_none,
|
962
|
+
1, 55, :_reduce_none,
|
963
|
+
1, 62, :_reduce_103,
|
964
|
+
2, 62, :_reduce_104,
|
965
|
+
1, 97, :_reduce_none,
|
966
|
+
1, 97, :_reduce_none,
|
967
|
+
1, 81, :_reduce_107 ]
|
968
|
+
|
969
|
+
racc_reduce_n = 108
|
970
|
+
|
971
|
+
racc_shift_n = 169
|
947
972
|
|
948
973
|
racc_token_table = {
|
949
974
|
false => 0,
|
@@ -964,28 +989,33 @@ racc_token_table = {
|
|
964
989
|
"%param" => 15,
|
965
990
|
"%lex-param" => 16,
|
966
991
|
"%parse-param" => 17,
|
967
|
-
"%
|
992
|
+
"%code" => 18,
|
968
993
|
"{" => 19,
|
969
994
|
"}" => 20,
|
970
|
-
"
|
971
|
-
"
|
972
|
-
"%
|
973
|
-
"%
|
974
|
-
"%
|
975
|
-
"%token" => 26,
|
976
|
-
"%
|
977
|
-
"%
|
978
|
-
"%
|
979
|
-
"%
|
980
|
-
"%
|
981
|
-
"
|
982
|
-
"
|
983
|
-
"
|
984
|
-
"
|
985
|
-
"
|
986
|
-
"
|
987
|
-
|
988
|
-
|
995
|
+
"%initial-action" => 21,
|
996
|
+
";" => 22,
|
997
|
+
"%union" => 23,
|
998
|
+
"%destructor" => 24,
|
999
|
+
"%printer" => 25,
|
1000
|
+
"%error-token" => 26,
|
1001
|
+
"%token" => 27,
|
1002
|
+
"%type" => 28,
|
1003
|
+
"%left" => 29,
|
1004
|
+
"%right" => 30,
|
1005
|
+
"%precedence" => 31,
|
1006
|
+
"%nonassoc" => 32,
|
1007
|
+
":" => 33,
|
1008
|
+
"|" => 34,
|
1009
|
+
"%empty" => 35,
|
1010
|
+
"?" => 36,
|
1011
|
+
"+" => 37,
|
1012
|
+
"*" => 38,
|
1013
|
+
"%prec" => 39,
|
1014
|
+
"[" => 40,
|
1015
|
+
"]" => 41,
|
1016
|
+
"{...}" => 42 }
|
1017
|
+
|
1018
|
+
racc_nt_base = 43
|
989
1019
|
|
990
1020
|
racc_use_result_var = true
|
991
1021
|
|
@@ -1025,9 +1055,10 @@ Racc_token_to_s_table = [
|
|
1025
1055
|
"\"%param\"",
|
1026
1056
|
"\"%lex-param\"",
|
1027
1057
|
"\"%parse-param\"",
|
1028
|
-
"\"%
|
1058
|
+
"\"%code\"",
|
1029
1059
|
"\"{\"",
|
1030
1060
|
"\"}\"",
|
1061
|
+
"\"%initial-action\"",
|
1031
1062
|
"\";\"",
|
1032
1063
|
"\"%union\"",
|
1033
1064
|
"\"%destructor\"",
|
@@ -1041,6 +1072,10 @@ Racc_token_to_s_table = [
|
|
1041
1072
|
"\"%nonassoc\"",
|
1042
1073
|
"\":\"",
|
1043
1074
|
"\"|\"",
|
1075
|
+
"\"%empty\"",
|
1076
|
+
"\"?\"",
|
1077
|
+
"\"+\"",
|
1078
|
+
"\"*\"",
|
1044
1079
|
"\"%prec\"",
|
1045
1080
|
"\"[\"",
|
1046
1081
|
"\"]\"",
|
@@ -1061,16 +1096,18 @@ Racc_token_to_s_table = [
|
|
1061
1096
|
"params",
|
1062
1097
|
"@3",
|
1063
1098
|
"@4",
|
1064
|
-
"symbol_declaration",
|
1065
|
-
"generic_symlist",
|
1066
1099
|
"@5",
|
1067
1100
|
"@6",
|
1101
|
+
"symbol_declaration",
|
1102
|
+
"generic_symlist",
|
1068
1103
|
"@7",
|
1069
1104
|
"@8",
|
1070
1105
|
"@9",
|
1071
1106
|
"@10",
|
1072
1107
|
"@11",
|
1073
1108
|
"@12",
|
1109
|
+
"@13",
|
1110
|
+
"@14",
|
1074
1111
|
"token_declarations",
|
1075
1112
|
"symbol_declarations",
|
1076
1113
|
"token_declarations_for_precedence",
|
@@ -1082,10 +1119,10 @@ Racc_token_to_s_table = [
|
|
1082
1119
|
"symbol_declaration_list",
|
1083
1120
|
"symbol",
|
1084
1121
|
"string_as_id",
|
1085
|
-
"@13",
|
1086
|
-
"@14",
|
1087
1122
|
"@15",
|
1088
1123
|
"@16",
|
1124
|
+
"@17",
|
1125
|
+
"@18",
|
1089
1126
|
"token_declaration_list_for_precedence",
|
1090
1127
|
"token_declaration_for_precedence",
|
1091
1128
|
"rules_or_grammar_declaration",
|
@@ -1094,15 +1131,13 @@ Racc_token_to_s_table = [
|
|
1094
1131
|
"named_ref_opt",
|
1095
1132
|
"rhs_list",
|
1096
1133
|
"rhs",
|
1097
|
-
"@17",
|
1098
|
-
"@18",
|
1099
1134
|
"@19",
|
1100
1135
|
"@20",
|
1101
1136
|
"@21",
|
1102
1137
|
"generic_symlist_item" ]
|
1103
1138
|
Ractor.make_shareable(Racc_token_to_s_table) if defined?(Ractor)
|
1104
1139
|
|
1105
|
-
Racc_debug_parser =
|
1140
|
+
Racc_debug_parser = true
|
1106
1141
|
|
1107
1142
|
##### State transition tables end #####
|
1108
1143
|
|
@@ -1114,26 +1149,24 @@ Racc_debug_parser = false
|
|
1114
1149
|
|
1115
1150
|
# reduce 3 omitted
|
1116
1151
|
|
1117
|
-
module_eval(<<'.,.,', 'parser.y',
|
1152
|
+
module_eval(<<'.,.,', 'parser.y', 14)
|
1118
1153
|
def _reduce_4(val, _values, result)
|
1119
|
-
|
1120
|
-
@lexer.end_symbol = '%}'
|
1154
|
+
begin_c_declaration("%}")
|
1121
1155
|
@grammar.prologue_first_lineno = @lexer.line
|
1122
1156
|
|
1123
1157
|
result
|
1124
1158
|
end
|
1125
1159
|
.,.,
|
1126
1160
|
|
1127
|
-
module_eval(<<'.,.,', 'parser.y',
|
1161
|
+
module_eval(<<'.,.,', 'parser.y', 19)
|
1128
1162
|
def _reduce_5(val, _values, result)
|
1129
|
-
|
1130
|
-
@lexer.end_symbol = nil
|
1163
|
+
end_c_declaration
|
1131
1164
|
|
1132
1165
|
result
|
1133
1166
|
end
|
1134
1167
|
.,.,
|
1135
1168
|
|
1136
|
-
module_eval(<<'.,.,', 'parser.y',
|
1169
|
+
module_eval(<<'.,.,', 'parser.y', 23)
|
1137
1170
|
def _reduce_6(val, _values, result)
|
1138
1171
|
@grammar.prologue = val[2].s_value
|
1139
1172
|
|
@@ -1143,7 +1176,7 @@ module_eval(<<'.,.,', 'parser.y', 21)
|
|
1143
1176
|
|
1144
1177
|
# reduce 7 omitted
|
1145
1178
|
|
1146
|
-
module_eval(<<'.,.,', 'parser.y',
|
1179
|
+
module_eval(<<'.,.,', 'parser.y', 27)
|
1147
1180
|
def _reduce_8(val, _values, result)
|
1148
1181
|
result = ""
|
1149
1182
|
result
|
@@ -1154,7 +1187,7 @@ module_eval(<<'.,.,', 'parser.y', 25)
|
|
1154
1187
|
|
1155
1188
|
# reduce 10 omitted
|
1156
1189
|
|
1157
|
-
module_eval(<<'.,.,', 'parser.y',
|
1190
|
+
module_eval(<<'.,.,', 'parser.y', 31)
|
1158
1191
|
def _reduce_11(val, _values, result)
|
1159
1192
|
@grammar.expect = val[1]
|
1160
1193
|
result
|
@@ -1167,7 +1200,7 @@ module_eval(<<'.,.,', 'parser.y', 29)
|
|
1167
1200
|
|
1168
1201
|
# reduce 14 omitted
|
1169
1202
|
|
1170
|
-
module_eval(<<'.,.,', 'parser.y',
|
1203
|
+
module_eval(<<'.,.,', 'parser.y', 37)
|
1171
1204
|
def _reduce_15(val, _values, result)
|
1172
1205
|
val[1].each {|token|
|
1173
1206
|
token.references = []
|
@@ -1178,7 +1211,7 @@ module_eval(<<'.,.,', 'parser.y', 35)
|
|
1178
1211
|
end
|
1179
1212
|
.,.,
|
1180
1213
|
|
1181
|
-
module_eval(<<'.,.,', 'parser.y',
|
1214
|
+
module_eval(<<'.,.,', 'parser.y', 44)
|
1182
1215
|
def _reduce_16(val, _values, result)
|
1183
1216
|
val[1].each {|token|
|
1184
1217
|
token.references = []
|
@@ -1189,19 +1222,17 @@ module_eval(<<'.,.,', 'parser.y', 42)
|
|
1189
1222
|
end
|
1190
1223
|
.,.,
|
1191
1224
|
|
1192
|
-
module_eval(<<'.,.,', 'parser.y',
|
1225
|
+
module_eval(<<'.,.,', 'parser.y', 51)
|
1193
1226
|
def _reduce_17(val, _values, result)
|
1194
|
-
|
1195
|
-
@lexer.end_symbol = '}'
|
1227
|
+
begin_c_declaration("}")
|
1196
1228
|
|
1197
1229
|
result
|
1198
1230
|
end
|
1199
1231
|
.,.,
|
1200
1232
|
|
1201
|
-
module_eval(<<'.,.,', 'parser.y',
|
1233
|
+
module_eval(<<'.,.,', 'parser.y', 55)
|
1202
1234
|
def _reduce_18(val, _values, result)
|
1203
|
-
|
1204
|
-
@lexer.end_symbol = nil
|
1235
|
+
end_c_declaration
|
1205
1236
|
|
1206
1237
|
result
|
1207
1238
|
end
|
@@ -1209,46 +1240,49 @@ module_eval(<<'.,.,', 'parser.y', 54)
|
|
1209
1240
|
|
1210
1241
|
module_eval(<<'.,.,', 'parser.y', 59)
|
1211
1242
|
def _reduce_19(val, _values, result)
|
1212
|
-
@grammar.
|
1243
|
+
@grammar.add_percent_code(id: val[1], code: val[4])
|
1213
1244
|
|
1214
1245
|
result
|
1215
1246
|
end
|
1216
1247
|
.,.,
|
1217
1248
|
|
1218
|
-
|
1249
|
+
module_eval(<<'.,.,', 'parser.y', 63)
|
1250
|
+
def _reduce_20(val, _values, result)
|
1251
|
+
begin_c_declaration("}")
|
1252
|
+
|
1253
|
+
result
|
1254
|
+
end
|
1255
|
+
.,.,
|
1219
1256
|
|
1220
|
-
module_eval(<<'.,.,', 'parser.y',
|
1257
|
+
module_eval(<<'.,.,', 'parser.y', 67)
|
1221
1258
|
def _reduce_21(val, _values, result)
|
1222
|
-
|
1223
|
-
@lexer.end_symbol = '}'
|
1259
|
+
end_c_declaration
|
1224
1260
|
|
1225
1261
|
result
|
1226
1262
|
end
|
1227
1263
|
.,.,
|
1228
1264
|
|
1229
|
-
module_eval(<<'.,.,', 'parser.y',
|
1265
|
+
module_eval(<<'.,.,', 'parser.y', 71)
|
1230
1266
|
def _reduce_22(val, _values, result)
|
1231
|
-
|
1232
|
-
@lexer.end_symbol = nil
|
1267
|
+
@grammar.initial_action = @grammar.build_code(:initial_action, val[3])
|
1233
1268
|
|
1234
1269
|
result
|
1235
1270
|
end
|
1236
1271
|
.,.,
|
1237
1272
|
|
1238
|
-
|
1239
|
-
|
1240
|
-
|
1273
|
+
# reduce 23 omitted
|
1274
|
+
|
1275
|
+
module_eval(<<'.,.,', 'parser.y', 77)
|
1276
|
+
def _reduce_24(val, _values, result)
|
1277
|
+
begin_c_declaration("}")
|
1241
1278
|
|
1242
1279
|
result
|
1243
1280
|
end
|
1244
1281
|
.,.,
|
1245
1282
|
|
1246
|
-
|
1247
|
-
|
1248
|
-
module_eval(<<'.,.,', 'parser.y', 80)
|
1283
|
+
module_eval(<<'.,.,', 'parser.y', 81)
|
1249
1284
|
def _reduce_25(val, _values, result)
|
1250
|
-
|
1251
|
-
@lexer.end_symbol = '}'
|
1285
|
+
end_c_declaration
|
1252
1286
|
|
1253
1287
|
result
|
1254
1288
|
end
|
@@ -1256,8 +1290,7 @@ module_eval(<<'.,.,', 'parser.y', 80)
|
|
1256
1290
|
|
1257
1291
|
module_eval(<<'.,.,', 'parser.y', 85)
|
1258
1292
|
def _reduce_26(val, _values, result)
|
1259
|
-
@
|
1260
|
-
@lexer.end_symbol = nil
|
1293
|
+
@grammar.set_union(@grammar.build_code(:union, val[3]), val[3].line)
|
1261
1294
|
|
1262
1295
|
result
|
1263
1296
|
end
|
@@ -1265,62 +1298,76 @@ module_eval(<<'.,.,', 'parser.y', 85)
|
|
1265
1298
|
|
1266
1299
|
# reduce 27 omitted
|
1267
1300
|
|
1268
|
-
module_eval(<<'.,.,', 'parser.y',
|
1301
|
+
module_eval(<<'.,.,', 'parser.y', 90)
|
1269
1302
|
def _reduce_28(val, _values, result)
|
1270
|
-
|
1271
|
-
@lexer.end_symbol = '}'
|
1303
|
+
begin_c_declaration("}")
|
1272
1304
|
|
1273
1305
|
result
|
1274
1306
|
end
|
1275
1307
|
.,.,
|
1276
1308
|
|
1277
|
-
module_eval(<<'.,.,', 'parser.y',
|
1309
|
+
module_eval(<<'.,.,', 'parser.y', 94)
|
1278
1310
|
def _reduce_29(val, _values, result)
|
1279
|
-
|
1280
|
-
@lexer.end_symbol = nil
|
1311
|
+
end_c_declaration
|
1281
1312
|
|
1282
1313
|
result
|
1283
1314
|
end
|
1284
1315
|
.,.,
|
1285
1316
|
|
1286
|
-
|
1287
|
-
|
1288
|
-
|
1317
|
+
# reduce 30 omitted
|
1318
|
+
|
1319
|
+
module_eval(<<'.,.,', 'parser.y', 99)
|
1320
|
+
def _reduce_31(val, _values, result)
|
1321
|
+
begin_c_declaration("}")
|
1289
1322
|
|
1290
1323
|
result
|
1291
1324
|
end
|
1292
1325
|
.,.,
|
1293
1326
|
|
1294
|
-
module_eval(<<'.,.,', 'parser.y',
|
1295
|
-
def
|
1296
|
-
|
1297
|
-
@lexer.end_symbol = '}'
|
1327
|
+
module_eval(<<'.,.,', 'parser.y', 103)
|
1328
|
+
def _reduce_32(val, _values, result)
|
1329
|
+
end_c_declaration
|
1298
1330
|
|
1299
1331
|
result
|
1300
1332
|
end
|
1301
1333
|
.,.,
|
1302
1334
|
|
1303
|
-
module_eval(<<'.,.,', 'parser.y',
|
1304
|
-
def
|
1305
|
-
@
|
1306
|
-
|
1335
|
+
module_eval(<<'.,.,', 'parser.y', 107)
|
1336
|
+
def _reduce_33(val, _values, result)
|
1337
|
+
@grammar.add_printer(ident_or_tags: val[6], code: @grammar.build_code(:printer, val[3]), lineno: val[3].line)
|
1338
|
+
|
1339
|
+
result
|
1340
|
+
end
|
1341
|
+
.,.,
|
1342
|
+
|
1343
|
+
module_eval(<<'.,.,', 'parser.y', 111)
|
1344
|
+
def _reduce_34(val, _values, result)
|
1345
|
+
begin_c_declaration("}")
|
1307
1346
|
|
1308
1347
|
result
|
1309
1348
|
end
|
1310
1349
|
.,.,
|
1311
1350
|
|
1312
1351
|
module_eval(<<'.,.,', 'parser.y', 115)
|
1313
|
-
def
|
1352
|
+
def _reduce_35(val, _values, result)
|
1353
|
+
end_c_declaration
|
1354
|
+
|
1355
|
+
result
|
1356
|
+
end
|
1357
|
+
.,.,
|
1358
|
+
|
1359
|
+
module_eval(<<'.,.,', 'parser.y', 119)
|
1360
|
+
def _reduce_36(val, _values, result)
|
1314
1361
|
@grammar.add_error_token(ident_or_tags: val[6], code: @grammar.build_code(:error_token, val[3]), lineno: val[3].line)
|
1315
1362
|
|
1316
1363
|
result
|
1317
1364
|
end
|
1318
1365
|
.,.,
|
1319
1366
|
|
1320
|
-
# reduce
|
1367
|
+
# reduce 37 omitted
|
1321
1368
|
|
1322
|
-
module_eval(<<'.,.,', 'parser.y',
|
1323
|
-
def
|
1369
|
+
module_eval(<<'.,.,', 'parser.y', 125)
|
1370
|
+
def _reduce_38(val, _values, result)
|
1324
1371
|
val[1].each {|hash|
|
1325
1372
|
hash[:tokens].each {|id|
|
1326
1373
|
@grammar.add_type(id: id, tag: hash[:tag])
|
@@ -1331,8 +1378,8 @@ module_eval(<<'.,.,', 'parser.y', 121)
|
|
1331
1378
|
end
|
1332
1379
|
.,.,
|
1333
1380
|
|
1334
|
-
module_eval(<<'.,.,', 'parser.y',
|
1335
|
-
def
|
1381
|
+
module_eval(<<'.,.,', 'parser.y', 133)
|
1382
|
+
def _reduce_39(val, _values, result)
|
1336
1383
|
val[1].each {|hash|
|
1337
1384
|
hash[:tokens].each {|id|
|
1338
1385
|
sym = @grammar.add_term(id: id)
|
@@ -1345,8 +1392,8 @@ module_eval(<<'.,.,', 'parser.y', 129)
|
|
1345
1392
|
end
|
1346
1393
|
.,.,
|
1347
1394
|
|
1348
|
-
module_eval(<<'.,.,', 'parser.y',
|
1349
|
-
def
|
1395
|
+
module_eval(<<'.,.,', 'parser.y', 143)
|
1396
|
+
def _reduce_40(val, _values, result)
|
1350
1397
|
val[1].each {|hash|
|
1351
1398
|
hash[:tokens].each {|id|
|
1352
1399
|
sym = @grammar.add_term(id: id)
|
@@ -1359,8 +1406,8 @@ module_eval(<<'.,.,', 'parser.y', 139)
|
|
1359
1406
|
end
|
1360
1407
|
.,.,
|
1361
1408
|
|
1362
|
-
module_eval(<<'.,.,', 'parser.y',
|
1363
|
-
def
|
1409
|
+
module_eval(<<'.,.,', 'parser.y', 153)
|
1410
|
+
def _reduce_41(val, _values, result)
|
1364
1411
|
val[1].each {|hash|
|
1365
1412
|
hash[:tokens].each {|id|
|
1366
1413
|
sym = @grammar.add_term(id: id)
|
@@ -1373,8 +1420,8 @@ module_eval(<<'.,.,', 'parser.y', 149)
|
|
1373
1420
|
end
|
1374
1421
|
.,.,
|
1375
1422
|
|
1376
|
-
module_eval(<<'.,.,', 'parser.y',
|
1377
|
-
def
|
1423
|
+
module_eval(<<'.,.,', 'parser.y', 163)
|
1424
|
+
def _reduce_42(val, _values, result)
|
1378
1425
|
val[1].each {|hash|
|
1379
1426
|
hash[:tokens].each {|id|
|
1380
1427
|
sym = @grammar.add_term(id: id)
|
@@ -1387,8 +1434,8 @@ module_eval(<<'.,.,', 'parser.y', 159)
|
|
1387
1434
|
end
|
1388
1435
|
.,.,
|
1389
1436
|
|
1390
|
-
module_eval(<<'.,.,', 'parser.y',
|
1391
|
-
def
|
1437
|
+
module_eval(<<'.,.,', 'parser.y', 174)
|
1438
|
+
def _reduce_43(val, _values, result)
|
1392
1439
|
val[0].each {|token_declaration|
|
1393
1440
|
@grammar.add_term(id: token_declaration[0], alias_name: token_declaration[2], token_id: token_declaration[1], tag: nil, replace: true)
|
1394
1441
|
}
|
@@ -1397,8 +1444,8 @@ module_eval(<<'.,.,', 'parser.y', 170)
|
|
1397
1444
|
end
|
1398
1445
|
.,.,
|
1399
1446
|
|
1400
|
-
module_eval(<<'.,.,', 'parser.y',
|
1401
|
-
def
|
1447
|
+
module_eval(<<'.,.,', 'parser.y', 180)
|
1448
|
+
def _reduce_44(val, _values, result)
|
1402
1449
|
val[1].each {|token_declaration|
|
1403
1450
|
@grammar.add_term(id: token_declaration[0], alias_name: token_declaration[2], token_id: token_declaration[1], tag: val[0], replace: true)
|
1404
1451
|
}
|
@@ -1407,8 +1454,8 @@ module_eval(<<'.,.,', 'parser.y', 176)
|
|
1407
1454
|
end
|
1408
1455
|
.,.,
|
1409
1456
|
|
1410
|
-
module_eval(<<'.,.,', 'parser.y',
|
1411
|
-
def
|
1457
|
+
module_eval(<<'.,.,', 'parser.y', 186)
|
1458
|
+
def _reduce_45(val, _values, result)
|
1412
1459
|
val[2].each {|token_declaration|
|
1413
1460
|
@grammar.add_term(id: token_declaration[0], alias_name: token_declaration[2], token_id: token_declaration[1], tag: val[1], replace: true)
|
1414
1461
|
}
|
@@ -1417,123 +1464,119 @@ module_eval(<<'.,.,', 'parser.y', 182)
|
|
1417
1464
|
end
|
1418
1465
|
.,.,
|
1419
1466
|
|
1420
|
-
module_eval(<<'.,.,', 'parser.y',
|
1421
|
-
def
|
1467
|
+
module_eval(<<'.,.,', 'parser.y', 191)
|
1468
|
+
def _reduce_46(val, _values, result)
|
1422
1469
|
result = [val[0]]
|
1423
1470
|
result
|
1424
1471
|
end
|
1425
1472
|
.,.,
|
1426
1473
|
|
1427
|
-
module_eval(<<'.,.,', 'parser.y',
|
1428
|
-
def
|
1474
|
+
module_eval(<<'.,.,', 'parser.y', 192)
|
1475
|
+
def _reduce_47(val, _values, result)
|
1429
1476
|
result = val[0].append(val[1])
|
1430
1477
|
result
|
1431
1478
|
end
|
1432
1479
|
.,.,
|
1433
1480
|
|
1434
|
-
module_eval(<<'.,.,', 'parser.y',
|
1435
|
-
def
|
1481
|
+
module_eval(<<'.,.,', 'parser.y', 194)
|
1482
|
+
def _reduce_48(val, _values, result)
|
1436
1483
|
result = val
|
1437
1484
|
result
|
1438
1485
|
end
|
1439
1486
|
.,.,
|
1440
1487
|
|
1441
|
-
# reduce
|
1488
|
+
# reduce 49 omitted
|
1442
1489
|
|
1443
|
-
# reduce
|
1490
|
+
# reduce 50 omitted
|
1444
1491
|
|
1445
|
-
# reduce
|
1492
|
+
# reduce 51 omitted
|
1446
1493
|
|
1447
|
-
# reduce
|
1494
|
+
# reduce 52 omitted
|
1448
1495
|
|
1449
|
-
module_eval(<<'.,.,', 'parser.y',
|
1450
|
-
def
|
1496
|
+
module_eval(<<'.,.,', 'parser.y', 204)
|
1497
|
+
def _reduce_53(val, _values, result)
|
1451
1498
|
result = [{tag: nil, tokens: val[0]}]
|
1452
1499
|
|
1453
1500
|
result
|
1454
1501
|
end
|
1455
1502
|
.,.,
|
1456
1503
|
|
1457
|
-
module_eval(<<'.,.,', 'parser.y',
|
1458
|
-
def
|
1504
|
+
module_eval(<<'.,.,', 'parser.y', 208)
|
1505
|
+
def _reduce_54(val, _values, result)
|
1459
1506
|
result = [{tag: val[0], tokens: val[1]}]
|
1460
1507
|
|
1461
1508
|
result
|
1462
1509
|
end
|
1463
1510
|
.,.,
|
1464
1511
|
|
1465
|
-
module_eval(<<'.,.,', 'parser.y',
|
1466
|
-
def
|
1512
|
+
module_eval(<<'.,.,', 'parser.y', 212)
|
1513
|
+
def _reduce_55(val, _values, result)
|
1467
1514
|
result = val[0].append({tag: val[1], tokens: val[2]})
|
1468
1515
|
|
1469
1516
|
result
|
1470
1517
|
end
|
1471
1518
|
.,.,
|
1472
1519
|
|
1473
|
-
module_eval(<<'.,.,', 'parser.y',
|
1474
|
-
def
|
1520
|
+
module_eval(<<'.,.,', 'parser.y', 215)
|
1521
|
+
def _reduce_56(val, _values, result)
|
1475
1522
|
result = [val[0]]
|
1476
1523
|
result
|
1477
1524
|
end
|
1478
1525
|
.,.,
|
1479
1526
|
|
1480
|
-
module_eval(<<'.,.,', 'parser.y',
|
1481
|
-
def
|
1527
|
+
module_eval(<<'.,.,', 'parser.y', 216)
|
1528
|
+
def _reduce_57(val, _values, result)
|
1482
1529
|
result = val[0].append(val[1])
|
1483
1530
|
result
|
1484
1531
|
end
|
1485
1532
|
.,.,
|
1486
1533
|
|
1487
|
-
# reduce
|
1534
|
+
# reduce 58 omitted
|
1488
1535
|
|
1489
|
-
# reduce
|
1536
|
+
# reduce 59 omitted
|
1490
1537
|
|
1491
|
-
module_eval(<<'.,.,', 'parser.y',
|
1492
|
-
def
|
1493
|
-
|
1494
|
-
@lexer.end_symbol = '}'
|
1538
|
+
module_eval(<<'.,.,', 'parser.y', 223)
|
1539
|
+
def _reduce_60(val, _values, result)
|
1540
|
+
begin_c_declaration("}")
|
1495
1541
|
|
1496
1542
|
result
|
1497
1543
|
end
|
1498
1544
|
.,.,
|
1499
1545
|
|
1500
|
-
module_eval(<<'.,.,', 'parser.y',
|
1501
|
-
def
|
1502
|
-
|
1503
|
-
@lexer.end_symbol = nil
|
1546
|
+
module_eval(<<'.,.,', 'parser.y', 227)
|
1547
|
+
def _reduce_61(val, _values, result)
|
1548
|
+
end_c_declaration
|
1504
1549
|
|
1505
1550
|
result
|
1506
1551
|
end
|
1507
1552
|
.,.,
|
1508
1553
|
|
1509
|
-
module_eval(<<'.,.,', 'parser.y',
|
1510
|
-
def
|
1554
|
+
module_eval(<<'.,.,', 'parser.y', 231)
|
1555
|
+
def _reduce_62(val, _values, result)
|
1511
1556
|
result = val[0].append(val[3])
|
1512
1557
|
|
1513
1558
|
result
|
1514
1559
|
end
|
1515
1560
|
.,.,
|
1516
1561
|
|
1517
|
-
module_eval(<<'.,.,', 'parser.y',
|
1518
|
-
def
|
1519
|
-
|
1520
|
-
@lexer.end_symbol = '}'
|
1562
|
+
module_eval(<<'.,.,', 'parser.y', 235)
|
1563
|
+
def _reduce_63(val, _values, result)
|
1564
|
+
begin_c_declaration("}")
|
1521
1565
|
|
1522
1566
|
result
|
1523
1567
|
end
|
1524
1568
|
.,.,
|
1525
1569
|
|
1526
|
-
module_eval(<<'.,.,', 'parser.y',
|
1527
|
-
def
|
1528
|
-
|
1529
|
-
@lexer.end_symbol = nil
|
1570
|
+
module_eval(<<'.,.,', 'parser.y', 239)
|
1571
|
+
def _reduce_64(val, _values, result)
|
1572
|
+
end_c_declaration
|
1530
1573
|
|
1531
1574
|
result
|
1532
1575
|
end
|
1533
1576
|
.,.,
|
1534
1577
|
|
1535
1578
|
module_eval(<<'.,.,', 'parser.y', 243)
|
1536
|
-
def
|
1579
|
+
def _reduce_65(val, _values, result)
|
1537
1580
|
result = [val[2]]
|
1538
1581
|
|
1539
1582
|
result
|
@@ -1541,7 +1584,7 @@ module_eval(<<'.,.,', 'parser.y', 243)
|
|
1541
1584
|
.,.,
|
1542
1585
|
|
1543
1586
|
module_eval(<<'.,.,', 'parser.y', 248)
|
1544
|
-
def
|
1587
|
+
def _reduce_66(val, _values, result)
|
1545
1588
|
result = [{tag: nil, tokens: val[0]}]
|
1546
1589
|
|
1547
1590
|
result
|
@@ -1549,7 +1592,7 @@ module_eval(<<'.,.,', 'parser.y', 248)
|
|
1549
1592
|
.,.,
|
1550
1593
|
|
1551
1594
|
module_eval(<<'.,.,', 'parser.y', 252)
|
1552
|
-
def
|
1595
|
+
def _reduce_67(val, _values, result)
|
1553
1596
|
result = [{tag: val[0], tokens: val[1]}]
|
1554
1597
|
|
1555
1598
|
result
|
@@ -1557,7 +1600,7 @@ module_eval(<<'.,.,', 'parser.y', 252)
|
|
1557
1600
|
.,.,
|
1558
1601
|
|
1559
1602
|
module_eval(<<'.,.,', 'parser.y', 256)
|
1560
|
-
def
|
1603
|
+
def _reduce_68(val, _values, result)
|
1561
1604
|
result = val[0].append({tag: nil, tokens: val[1]})
|
1562
1605
|
|
1563
1606
|
result
|
@@ -1565,47 +1608,47 @@ module_eval(<<'.,.,', 'parser.y', 256)
|
|
1565
1608
|
.,.,
|
1566
1609
|
|
1567
1610
|
module_eval(<<'.,.,', 'parser.y', 259)
|
1568
|
-
def
|
1611
|
+
def _reduce_69(val, _values, result)
|
1569
1612
|
result = [val[0]]
|
1570
1613
|
result
|
1571
1614
|
end
|
1572
1615
|
.,.,
|
1573
1616
|
|
1574
1617
|
module_eval(<<'.,.,', 'parser.y', 260)
|
1575
|
-
def
|
1618
|
+
def _reduce_70(val, _values, result)
|
1576
1619
|
result = val[0].append(val[1])
|
1577
1620
|
result
|
1578
1621
|
end
|
1579
1622
|
.,.,
|
1580
1623
|
|
1581
|
-
# reduce
|
1624
|
+
# reduce 71 omitted
|
1582
1625
|
|
1583
1626
|
module_eval(<<'.,.,', 'parser.y', 264)
|
1584
|
-
def
|
1627
|
+
def _reduce_72(val, _values, result)
|
1585
1628
|
raise "Ident after %prec" if @prec_seen
|
1586
1629
|
result
|
1587
1630
|
end
|
1588
1631
|
.,.,
|
1589
1632
|
|
1590
1633
|
module_eval(<<'.,.,', 'parser.y', 265)
|
1591
|
-
def
|
1634
|
+
def _reduce_73(val, _values, result)
|
1592
1635
|
raise "Char after %prec" if @prec_seen
|
1593
1636
|
result
|
1594
1637
|
end
|
1595
1638
|
.,.,
|
1596
1639
|
|
1597
|
-
# reduce
|
1640
|
+
# reduce 74 omitted
|
1598
1641
|
|
1599
|
-
# reduce
|
1642
|
+
# reduce 75 omitted
|
1600
1643
|
|
1601
|
-
# reduce
|
1644
|
+
# reduce 76 omitted
|
1602
1645
|
|
1603
|
-
# reduce
|
1646
|
+
# reduce 77 omitted
|
1604
1647
|
|
1605
1648
|
module_eval(<<'.,.,', 'parser.y', 275)
|
1606
|
-
def
|
1649
|
+
def _reduce_78(val, _values, result)
|
1607
1650
|
lhs = val[0]
|
1608
|
-
lhs.
|
1651
|
+
lhs.alias_name = val[1]
|
1609
1652
|
val[3].each {|hash|
|
1610
1653
|
@grammar.add_rule(lhs: lhs, rhs: hash[:rhs], lineno: hash[:lineno])
|
1611
1654
|
}
|
@@ -1615,7 +1658,7 @@ module_eval(<<'.,.,', 'parser.y', 275)
|
|
1615
1658
|
.,.,
|
1616
1659
|
|
1617
1660
|
module_eval(<<'.,.,', 'parser.y', 284)
|
1618
|
-
def
|
1661
|
+
def _reduce_79(val, _values, result)
|
1619
1662
|
result = [{rhs: val[0], lineno: val[0].first&.line || @lexer.line - 1}]
|
1620
1663
|
|
1621
1664
|
result
|
@@ -1623,101 +1666,102 @@ module_eval(<<'.,.,', 'parser.y', 284)
|
|
1623
1666
|
.,.,
|
1624
1667
|
|
1625
1668
|
module_eval(<<'.,.,', 'parser.y', 288)
|
1626
|
-
def
|
1669
|
+
def _reduce_80(val, _values, result)
|
1627
1670
|
result = val[0].append({rhs: val[2], lineno: val[2].first&.line || @lexer.line - 1})
|
1628
1671
|
|
1629
1672
|
result
|
1630
1673
|
end
|
1631
1674
|
.,.,
|
1632
1675
|
|
1633
|
-
# reduce
|
1676
|
+
# reduce 81 omitted
|
1634
1677
|
|
1635
1678
|
module_eval(<<'.,.,', 'parser.y', 294)
|
1636
|
-
def
|
1637
|
-
|
1638
|
-
|
1639
|
-
@code_after_prec = false
|
1679
|
+
def _reduce_82(val, _values, result)
|
1680
|
+
reset_precs
|
1681
|
+
result = []
|
1640
1682
|
|
1641
1683
|
result
|
1642
1684
|
end
|
1643
1685
|
.,.,
|
1644
1686
|
|
1645
|
-
module_eval(<<'.,.,', 'parser.y',
|
1646
|
-
def
|
1687
|
+
module_eval(<<'.,.,', 'parser.y', 299)
|
1688
|
+
def _reduce_83(val, _values, result)
|
1689
|
+
reset_precs
|
1690
|
+
result = []
|
1691
|
+
|
1692
|
+
result
|
1693
|
+
end
|
1694
|
+
.,.,
|
1695
|
+
|
1696
|
+
module_eval(<<'.,.,', 'parser.y', 304)
|
1697
|
+
def _reduce_84(val, _values, result)
|
1647
1698
|
token = val[1]
|
1648
|
-
token.
|
1699
|
+
token.alias_name = val[2]
|
1649
1700
|
result = val[0].append(token)
|
1650
1701
|
|
1651
1702
|
result
|
1652
1703
|
end
|
1653
1704
|
.,.,
|
1654
1705
|
|
1655
|
-
module_eval(<<'.,.,', 'parser.y',
|
1656
|
-
def
|
1657
|
-
|
1658
|
-
|
1659
|
-
@code_after_prec = true
|
1660
|
-
end
|
1661
|
-
@lexer.status = :c_declaration
|
1662
|
-
@lexer.end_symbol = '}'
|
1706
|
+
module_eval(<<'.,.,', 'parser.y', 310)
|
1707
|
+
def _reduce_85(val, _values, result)
|
1708
|
+
token = Lrama::Lexer::Token::Parameterizing.new(s_value: val[1])
|
1709
|
+
result = val[0].append(token)
|
1663
1710
|
|
1664
1711
|
result
|
1665
1712
|
end
|
1666
1713
|
.,.,
|
1667
1714
|
|
1668
1715
|
module_eval(<<'.,.,', 'parser.y', 315)
|
1669
|
-
def
|
1670
|
-
|
1671
|
-
|
1716
|
+
def _reduce_86(val, _values, result)
|
1717
|
+
token = Lrama::Lexer::Token::Parameterizing.new(s_value: val[1])
|
1718
|
+
result = val[0].append(token)
|
1672
1719
|
|
1673
1720
|
result
|
1674
1721
|
end
|
1675
1722
|
.,.,
|
1676
1723
|
|
1677
1724
|
module_eval(<<'.,.,', 'parser.y', 320)
|
1678
|
-
def
|
1679
|
-
|
1680
|
-
|
1681
|
-
result = val[0].append(token)
|
1725
|
+
def _reduce_87(val, _values, result)
|
1726
|
+
token = Lrama::Lexer::Token::Parameterizing.new(s_value: val[1])
|
1727
|
+
result = val[0].append(token)
|
1682
1728
|
|
1683
1729
|
result
|
1684
1730
|
end
|
1685
1731
|
.,.,
|
1686
1732
|
|
1687
|
-
module_eval(<<'.,.,', 'parser.y',
|
1688
|
-
def
|
1733
|
+
module_eval(<<'.,.,', 'parser.y', 325)
|
1734
|
+
def _reduce_88(val, _values, result)
|
1689
1735
|
if @prec_seen
|
1690
1736
|
raise "Multiple User_code after %prec" if @code_after_prec
|
1691
1737
|
@code_after_prec = true
|
1692
1738
|
end
|
1693
|
-
|
1694
|
-
@lexer.end_symbol = '}'
|
1739
|
+
begin_c_declaration("}")
|
1695
1740
|
|
1696
1741
|
result
|
1697
1742
|
end
|
1698
1743
|
.,.,
|
1699
1744
|
|
1700
|
-
module_eval(<<'.,.,', 'parser.y',
|
1701
|
-
def
|
1702
|
-
|
1703
|
-
@lexer.end_symbol = nil
|
1745
|
+
module_eval(<<'.,.,', 'parser.y', 333)
|
1746
|
+
def _reduce_89(val, _values, result)
|
1747
|
+
end_c_declaration
|
1704
1748
|
|
1705
1749
|
result
|
1706
1750
|
end
|
1707
1751
|
.,.,
|
1708
1752
|
|
1709
|
-
module_eval(<<'.,.,', 'parser.y',
|
1710
|
-
def
|
1711
|
-
token = val[
|
1712
|
-
token.
|
1713
|
-
result = [token
|
1753
|
+
module_eval(<<'.,.,', 'parser.y', 337)
|
1754
|
+
def _reduce_90(val, _values, result)
|
1755
|
+
token = val[3]
|
1756
|
+
token.alias_name = val[6]
|
1757
|
+
result = val[0].append(token)
|
1714
1758
|
|
1715
1759
|
result
|
1716
1760
|
end
|
1717
1761
|
.,.,
|
1718
1762
|
|
1719
|
-
module_eval(<<'.,.,', 'parser.y',
|
1720
|
-
def
|
1763
|
+
module_eval(<<'.,.,', 'parser.y', 343)
|
1764
|
+
def _reduce_91(val, _values, result)
|
1721
1765
|
sym = @grammar.find_symbol_by_id!(val[2])
|
1722
1766
|
result = val[0].append(sym)
|
1723
1767
|
@prec_seen = true
|
@@ -1726,70 +1770,68 @@ module_eval(<<'.,.,', 'parser.y', 346)
|
|
1726
1770
|
end
|
1727
1771
|
.,.,
|
1728
1772
|
|
1729
|
-
# reduce
|
1773
|
+
# reduce 92 omitted
|
1730
1774
|
|
1731
|
-
module_eval(<<'.,.,', 'parser.y',
|
1732
|
-
def
|
1775
|
+
module_eval(<<'.,.,', 'parser.y', 349)
|
1776
|
+
def _reduce_93(val, _values, result)
|
1733
1777
|
result = val[1].s_value
|
1734
1778
|
result
|
1735
1779
|
end
|
1736
1780
|
.,.,
|
1737
1781
|
|
1738
|
-
# reduce
|
1782
|
+
# reduce 94 omitted
|
1739
1783
|
|
1740
|
-
# reduce
|
1784
|
+
# reduce 95 omitted
|
1741
1785
|
|
1742
|
-
module_eval(<<'.,.,', 'parser.y',
|
1743
|
-
def
|
1744
|
-
|
1745
|
-
@lexer.end_symbol = '\Z'
|
1786
|
+
module_eval(<<'.,.,', 'parser.y', 356)
|
1787
|
+
def _reduce_96(val, _values, result)
|
1788
|
+
begin_c_declaration('\Z')
|
1746
1789
|
@grammar.epilogue_first_lineno = @lexer.line + 1
|
1747
1790
|
|
1748
1791
|
result
|
1749
1792
|
end
|
1750
1793
|
.,.,
|
1751
1794
|
|
1752
|
-
module_eval(<<'.,.,', 'parser.y',
|
1753
|
-
def
|
1754
|
-
|
1755
|
-
@lexer.end_symbol = nil
|
1795
|
+
module_eval(<<'.,.,', 'parser.y', 361)
|
1796
|
+
def _reduce_97(val, _values, result)
|
1797
|
+
end_c_declaration
|
1756
1798
|
@grammar.epilogue = val[2].s_value
|
1757
1799
|
|
1758
1800
|
result
|
1759
1801
|
end
|
1760
1802
|
.,.,
|
1761
1803
|
|
1762
|
-
# reduce
|
1804
|
+
# reduce 98 omitted
|
1763
1805
|
|
1764
|
-
# reduce
|
1806
|
+
# reduce 99 omitted
|
1765
1807
|
|
1766
|
-
# reduce
|
1808
|
+
# reduce 100 omitted
|
1767
1809
|
|
1768
|
-
# reduce
|
1810
|
+
# reduce 101 omitted
|
1769
1811
|
|
1770
|
-
# reduce
|
1812
|
+
# reduce 102 omitted
|
1771
1813
|
|
1772
|
-
module_eval(<<'.,.,', 'parser.y',
|
1773
|
-
def
|
1814
|
+
module_eval(<<'.,.,', 'parser.y', 372)
|
1815
|
+
def _reduce_103(val, _values, result)
|
1774
1816
|
result = [val[0]]
|
1775
1817
|
result
|
1776
1818
|
end
|
1777
1819
|
.,.,
|
1778
1820
|
|
1779
|
-
module_eval(<<'.,.,', 'parser.y',
|
1780
|
-
def
|
1821
|
+
module_eval(<<'.,.,', 'parser.y', 373)
|
1822
|
+
def _reduce_104(val, _values, result)
|
1781
1823
|
result = val[0].append(val[1])
|
1782
1824
|
result
|
1783
1825
|
end
|
1784
1826
|
.,.,
|
1785
1827
|
|
1786
|
-
# reduce
|
1828
|
+
# reduce 105 omitted
|
1787
1829
|
|
1788
|
-
# reduce
|
1830
|
+
# reduce 106 omitted
|
1789
1831
|
|
1790
|
-
module_eval(<<'.,.,', 'parser.y',
|
1791
|
-
def
|
1792
|
-
result = Lrama::Lexer::Token.new(
|
1832
|
+
module_eval(<<'.,.,', 'parser.y', 378)
|
1833
|
+
def _reduce_107(val, _values, result)
|
1834
|
+
result = Lrama::Lexer::Token::Ident.new(s_value: val[0])
|
1793
1835
|
result
|
1794
1836
|
end
|
1795
1837
|
.,.,
|