lrama 0.7.0 → 0.7.1
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/.gitattributes +2 -0
- data/.github/workflows/codespell.yaml +1 -1
- data/.github/workflows/gh-pages.yml +5 -6
- data/.github/workflows/test.yaml +25 -14
- data/Gemfile +4 -3
- data/NEWS.md +370 -35
- data/README.md +7 -88
- data/Rakefile +3 -2
- data/Steepfile +11 -5
- data/doc/Index.md +1 -1
- data/doc/development/compressed_state_table/parser.rb +2 -0
- data/doc/development/profiling.md +44 -0
- data/exe/lrama +1 -1
- data/lib/lrama/bitmap.rb +18 -5
- data/lib/lrama/command.rb +95 -43
- data/lib/lrama/context.rb +22 -24
- data/lib/lrama/counterexamples/derivation.rb +14 -4
- data/lib/lrama/counterexamples/example.rb +47 -22
- data/lib/lrama/counterexamples/node.rb +30 -0
- data/lib/lrama/counterexamples/path.rb +12 -14
- data/lib/lrama/counterexamples/state_item.rb +24 -1
- data/lib/lrama/counterexamples/triple.rb +27 -9
- data/lib/lrama/counterexamples.rb +216 -88
- data/lib/lrama/diagram.rb +77 -0
- data/lib/lrama/digraph.rb +28 -7
- data/lib/lrama/erb.rb +29 -0
- data/lib/lrama/grammar/auxiliary.rb +6 -1
- data/lib/lrama/grammar/binding.rb +37 -25
- data/lib/lrama/grammar/code/destructor_code.rb +11 -0
- data/lib/lrama/grammar/code/initial_action_code.rb +3 -0
- data/lib/lrama/grammar/code/no_reference_code.rb +3 -0
- data/lib/lrama/grammar/code/printer_code.rb +11 -0
- data/lib/lrama/grammar/code/rule_action.rb +17 -0
- data/lib/lrama/grammar/code.rb +16 -1
- data/lib/lrama/grammar/counter.rb +10 -0
- data/lib/lrama/grammar/destructor.rb +14 -1
- data/lib/lrama/grammar/error_token.rb +14 -1
- data/lib/lrama/grammar/inline/resolver.rb +80 -0
- data/lib/lrama/grammar/inline.rb +3 -0
- data/lib/lrama/grammar/{parameterizing_rule → parameterized}/resolver.rb +19 -8
- data/lib/lrama/grammar/{parameterizing_rule → parameterized}/rhs.rb +7 -2
- data/lib/lrama/grammar/parameterized/rule.rb +36 -0
- data/lib/lrama/grammar/parameterized.rb +5 -0
- data/lib/lrama/grammar/percent_code.rb +12 -1
- data/lib/lrama/grammar/precedence.rb +43 -1
- data/lib/lrama/grammar/printer.rb +9 -0
- data/lib/lrama/grammar/reference.rb +13 -0
- data/lib/lrama/grammar/rule.rb +61 -1
- data/lib/lrama/grammar/rule_builder.rb +84 -69
- data/lib/lrama/grammar/stdlib.y +68 -48
- data/lib/lrama/grammar/symbol.rb +63 -19
- data/lib/lrama/grammar/symbols/resolver.rb +64 -3
- data/lib/lrama/grammar/type.rb +13 -1
- data/lib/lrama/grammar/union.rb +12 -1
- data/lib/lrama/grammar.rb +231 -35
- data/lib/lrama/lexer/location.rb +25 -8
- data/lib/lrama/lexer/token/base.rb +73 -0
- data/lib/lrama/lexer/token/char.rb +15 -2
- data/lib/lrama/lexer/token/empty.rb +14 -0
- data/lib/lrama/lexer/token/ident.rb +2 -2
- data/lib/lrama/lexer/token/instantiate_rule.rb +4 -4
- data/lib/lrama/lexer/token/int.rb +14 -0
- data/lib/lrama/lexer/token/str.rb +11 -0
- data/lib/lrama/lexer/token/tag.rb +2 -2
- data/lib/lrama/lexer/token/token.rb +11 -0
- data/lib/lrama/lexer/token/user_code.rb +63 -37
- data/lib/lrama/lexer/token.rb +6 -56
- data/lib/lrama/lexer.rb +51 -23
- data/lib/lrama/logger.rb +12 -2
- data/lib/lrama/option_parser.rb +63 -9
- data/lib/lrama/options.rb +25 -7
- data/lib/lrama/output.rb +4 -11
- data/lib/lrama/parser.rb +854 -723
- data/lib/lrama/reporter/conflicts.rb +44 -0
- data/lib/lrama/reporter/grammar.rb +39 -0
- data/lib/lrama/reporter/precedences.rb +54 -0
- data/lib/lrama/reporter/profile/call_stack.rb +45 -0
- data/lib/lrama/reporter/profile/memory.rb +44 -0
- data/lib/lrama/reporter/profile.rb +4 -0
- data/lib/lrama/reporter/rules.rb +43 -0
- data/lib/lrama/reporter/states.rb +387 -0
- data/lib/lrama/reporter/terms.rb +44 -0
- data/lib/lrama/reporter.rb +39 -0
- data/lib/lrama/state/action/goto.rb +33 -0
- data/lib/lrama/state/action/reduce.rb +71 -0
- data/lib/lrama/state/action/shift.rb +39 -0
- data/lib/lrama/state/action.rb +5 -0
- data/lib/lrama/state/inadequacy_annotation.rb +140 -0
- data/lib/lrama/{states → state}/item.rb +33 -4
- data/lib/lrama/state/reduce_reduce_conflict.rb +14 -1
- data/lib/lrama/state/resolved_conflict.rb +38 -4
- data/lib/lrama/state/shift_reduce_conflict.rb +14 -1
- data/lib/lrama/state.rb +301 -200
- data/lib/lrama/states.rb +447 -175
- data/lib/lrama/tracer/actions.rb +22 -0
- data/lib/lrama/tracer/closure.rb +30 -0
- data/lib/lrama/tracer/duration.rb +38 -0
- data/lib/lrama/tracer/only_explicit_rules.rb +24 -0
- data/lib/lrama/tracer/rules.rb +23 -0
- data/lib/lrama/tracer/state.rb +33 -0
- data/lib/lrama/tracer.rb +51 -0
- data/lib/lrama/version.rb +2 -1
- data/lib/lrama/warnings/conflicts.rb +27 -0
- data/lib/lrama/warnings/implicit_empty.rb +29 -0
- data/lib/lrama/warnings/name_conflicts.rb +63 -0
- data/lib/lrama/warnings/redefined_rules.rb +23 -0
- data/lib/lrama/warnings/required.rb +23 -0
- data/lib/lrama/warnings/useless_precedence.rb +25 -0
- data/lib/lrama/warnings.rb +33 -0
- data/lib/lrama.rb +5 -5
- data/parser.y +495 -404
- data/rbs_collection.lock.yaml +27 -3
- data/rbs_collection.yaml +2 -0
- data/sig/generated/lrama/bitmap.rbs +12 -4
- data/sig/generated/lrama/counterexamples/derivation.rbs +36 -0
- data/sig/generated/lrama/counterexamples/example.rbs +58 -0
- data/sig/generated/lrama/counterexamples/node.rbs +18 -0
- data/sig/generated/lrama/counterexamples/path.rbs +23 -0
- data/sig/generated/lrama/counterexamples/state_item.rbs +19 -0
- data/sig/generated/lrama/counterexamples/triple.rbs +32 -0
- data/sig/generated/lrama/counterexamples.rbs +98 -0
- data/sig/generated/lrama/diagram.rbs +34 -0
- data/sig/generated/lrama/digraph.rbs +26 -6
- data/sig/generated/lrama/erb.rbs +14 -0
- data/sig/generated/lrama/grammar/auxiliary.rbs +16 -0
- data/sig/generated/lrama/grammar/binding.rbs +18 -12
- data/sig/generated/lrama/grammar/code/destructor_code.rbs +26 -0
- data/sig/{lrama → generated/lrama}/grammar/code/initial_action_code.rbs +6 -0
- data/sig/{lrama → generated/lrama}/grammar/code/no_reference_code.rbs +6 -0
- data/sig/generated/lrama/grammar/code/printer_code.rbs +26 -0
- data/sig/generated/lrama/grammar/code/rule_action.rbs +63 -0
- data/sig/generated/lrama/grammar/code.rbs +38 -0
- data/sig/{lrama → generated/lrama}/grammar/counter.rbs +4 -0
- data/sig/generated/lrama/grammar/destructor.rbs +19 -0
- data/sig/generated/lrama/grammar/error_token.rbs +19 -0
- data/sig/generated/lrama/grammar/inline/resolver.rbs +26 -0
- data/sig/generated/lrama/grammar/parameterized/resolver.rbs +42 -0
- data/sig/generated/lrama/grammar/parameterized/rhs.rbs +21 -0
- data/sig/generated/lrama/grammar/parameterized/rule.rbs +28 -0
- data/sig/{lrama → generated/lrama}/grammar/percent_code.rbs +8 -0
- data/sig/generated/lrama/grammar/precedence.rbs +45 -0
- data/sig/{lrama/grammar/error_token.rbs → generated/lrama/grammar/printer.rbs} +8 -3
- data/sig/generated/lrama/grammar/reference.rbs +31 -0
- data/sig/generated/lrama/grammar/rule.rbs +83 -0
- data/sig/generated/lrama/grammar/rule_builder.rbs +91 -0
- data/sig/generated/lrama/grammar/symbol.rbs +89 -0
- data/sig/generated/lrama/grammar/symbols/resolver.rbs +131 -0
- data/sig/generated/lrama/grammar/type.rbs +21 -0
- data/sig/generated/lrama/grammar/union.rbs +17 -0
- data/sig/generated/lrama/grammar.rbs +289 -0
- data/sig/generated/lrama/lexer/location.rbs +12 -3
- data/sig/generated/lrama/lexer/token/base.rbs +53 -0
- data/sig/generated/lrama/lexer/token/char.rbs +9 -2
- data/sig/generated/lrama/lexer/token/empty.rbs +11 -0
- data/sig/generated/lrama/lexer/token/ident.rbs +2 -2
- data/sig/generated/lrama/lexer/token/instantiate_rule.rbs +5 -5
- data/sig/generated/lrama/lexer/token/int.rbs +13 -0
- data/sig/generated/lrama/lexer/token/str.rbs +10 -0
- data/sig/generated/lrama/lexer/token/tag.rbs +2 -2
- data/sig/generated/lrama/lexer/token/token.rbs +10 -0
- data/sig/generated/lrama/lexer/token/user_code.rbs +2 -2
- data/sig/generated/lrama/lexer/token.rbs +1 -39
- data/sig/generated/lrama/lexer.rbs +54 -0
- data/sig/generated/lrama/logger.rbs +6 -0
- data/sig/generated/lrama/option_parser.rbs +52 -0
- data/sig/{lrama → generated/lrama}/options.rbs +27 -3
- data/sig/generated/lrama/reporter/conflicts.rbs +18 -0
- data/sig/generated/lrama/reporter/grammar.rbs +13 -0
- data/sig/generated/lrama/reporter/precedences.rbs +15 -0
- data/sig/generated/lrama/reporter/profile/call_stack.rbs +19 -0
- data/sig/generated/lrama/reporter/profile/memory.rbs +19 -0
- data/sig/generated/lrama/reporter/rules.rbs +13 -0
- data/sig/generated/lrama/reporter/states.rbs +69 -0
- data/sig/generated/lrama/reporter/terms.rbs +13 -0
- data/sig/generated/lrama/reporter.rbs +13 -0
- data/sig/generated/lrama/state/action/goto.rbs +28 -0
- data/sig/generated/lrama/state/action/reduce.rbs +49 -0
- data/sig/generated/lrama/state/action/shift.rbs +33 -0
- data/sig/generated/lrama/state/inadequacy_annotation.rbs +45 -0
- data/sig/generated/lrama/state/item.rbs +75 -0
- data/sig/generated/lrama/state/reduce_reduce_conflict.rbs +19 -0
- data/sig/generated/lrama/state/resolved_conflict.rbs +38 -0
- data/sig/generated/lrama/state/shift_reduce_conflict.rbs +19 -0
- data/sig/generated/lrama/state.rbs +231 -0
- data/sig/generated/lrama/states.rbs +215 -0
- data/sig/generated/lrama/tracer/actions.rbs +13 -0
- data/sig/generated/lrama/tracer/closure.rbs +13 -0
- data/sig/generated/lrama/tracer/duration.rbs +18 -0
- data/sig/generated/lrama/tracer/only_explicit_rules.rbs +13 -0
- data/sig/generated/lrama/tracer/rules.rbs +13 -0
- data/sig/generated/lrama/tracer/state.rbs +16 -0
- data/sig/generated/lrama/tracer.rbs +23 -0
- data/sig/generated/lrama/version.rbs +5 -0
- data/sig/generated/lrama/warnings/conflicts.rbs +13 -0
- data/sig/generated/lrama/warnings/implicit_empty.rbs +17 -0
- data/sig/generated/lrama/warnings/name_conflicts.rbs +31 -0
- data/sig/generated/lrama/warnings/redefined_rules.rbs +13 -0
- data/sig/generated/lrama/warnings/required.rbs +13 -0
- data/sig/generated/lrama/warnings/useless_precedence.rbs +13 -0
- data/sig/generated/lrama/warnings.rbs +11 -0
- data/sig/railroad_diagrams/railroad_diagrams.rbs +16 -0
- data/template/bison/_yacc.h +8 -0
- data/template/diagram/diagram.html +102 -0
- metadata +126 -66
- data/lib/lrama/counterexamples/production_path.rb +0 -19
- data/lib/lrama/counterexamples/start_path.rb +0 -23
- data/lib/lrama/counterexamples/transition_path.rb +0 -19
- data/lib/lrama/diagnostics.rb +0 -36
- data/lib/lrama/grammar/parameterizing_rule/rule.rb +0 -24
- data/lib/lrama/grammar/parameterizing_rule.rb +0 -5
- data/lib/lrama/grammar_validator.rb +0 -37
- data/lib/lrama/report/duration.rb +0 -27
- data/lib/lrama/report/profile.rb +0 -16
- data/lib/lrama/report.rb +0 -4
- data/lib/lrama/state/reduce.rb +0 -37
- data/lib/lrama/state/shift.rb +0 -15
- data/lib/lrama/states_reporter.rb +0 -362
- data/lib/lrama/trace_reporter.rb +0 -45
- data/sig/generated/lrama/trace_reporter.rbs +0 -25
- data/sig/lrama/counterexamples/derivation.rbs +0 -33
- data/sig/lrama/counterexamples/example.rbs +0 -45
- data/sig/lrama/counterexamples/path.rbs +0 -21
- data/sig/lrama/counterexamples/production_path.rbs +0 -11
- data/sig/lrama/counterexamples/start_path.rbs +0 -13
- data/sig/lrama/counterexamples/state_item.rbs +0 -10
- data/sig/lrama/counterexamples/transition_path.rbs +0 -11
- data/sig/lrama/counterexamples/triple.rbs +0 -20
- data/sig/lrama/counterexamples.rbs +0 -29
- data/sig/lrama/grammar/auxiliary.rbs +0 -10
- data/sig/lrama/grammar/code/destructor_code.rbs +0 -14
- data/sig/lrama/grammar/code/printer_code.rbs +0 -14
- data/sig/lrama/grammar/code/rule_action.rbs +0 -19
- data/sig/lrama/grammar/code.rbs +0 -24
- data/sig/lrama/grammar/destructor.rbs +0 -13
- data/sig/lrama/grammar/parameterizing_rule/resolver.rbs +0 -24
- data/sig/lrama/grammar/parameterizing_rule/rhs.rbs +0 -14
- data/sig/lrama/grammar/parameterizing_rule/rule.rbs +0 -16
- data/sig/lrama/grammar/parameterizing_rule.rbs +0 -6
- data/sig/lrama/grammar/precedence.rbs +0 -13
- data/sig/lrama/grammar/printer.rbs +0 -13
- data/sig/lrama/grammar/reference.rbs +0 -22
- data/sig/lrama/grammar/rule.rbs +0 -45
- data/sig/lrama/grammar/rule_builder.rbs +0 -47
- data/sig/lrama/grammar/symbol.rbs +0 -38
- data/sig/lrama/grammar/symbols/resolver.rbs +0 -60
- data/sig/lrama/grammar/type.rbs +0 -11
- data/sig/lrama/grammar/union.rbs +0 -12
- data/sig/lrama/grammar.rbs +0 -108
- data/sig/lrama/report/duration.rbs +0 -11
- data/sig/lrama/report/profile.rbs +0 -7
- data/sig/lrama/state/reduce.rbs +0 -20
- data/sig/lrama/state/reduce_reduce_conflict.rbs +0 -13
- data/sig/lrama/state/resolved_conflict.rbs +0 -14
- data/sig/lrama/state/shift.rbs +0 -14
- data/sig/lrama/state/shift_reduce_conflict.rbs +0 -13
- data/sig/lrama/state.rbs +0 -79
- data/sig/lrama/states/item.rbs +0 -30
- data/sig/lrama/states.rbs +0 -101
- data/sig/lrama/warning.rbs +0 -16
data/lib/lrama/parser.rb
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
#
|
|
2
3
|
# DO NOT MODIFY!!!!
|
|
3
4
|
# This file is automatically generated by Racc 1.8.1
|
|
@@ -654,22 +655,25 @@ end
|
|
|
654
655
|
module Lrama
|
|
655
656
|
class Parser < Racc::Parser
|
|
656
657
|
|
|
657
|
-
module_eval(<<'...end parser.y/module_eval...', 'parser.y',
|
|
658
|
+
module_eval(<<'...end parser.y/module_eval...', 'parser.y', 504)
|
|
658
659
|
|
|
659
|
-
include Lrama::
|
|
660
|
+
include Lrama::Tracer::Duration
|
|
660
661
|
|
|
661
|
-
def initialize(text, path, debug = false, define = {})
|
|
662
|
+
def initialize(text, path, debug = false, locations = false, define = {})
|
|
663
|
+
@path = path
|
|
662
664
|
@grammar_file = Lrama::Lexer::GrammarFile.new(path, text)
|
|
663
|
-
@yydebug = debug
|
|
665
|
+
@yydebug = debug || define.key?('parse.trace')
|
|
664
666
|
@rule_counter = Lrama::Grammar::Counter.new(0)
|
|
665
667
|
@midrule_action_counter = Lrama::Grammar::Counter.new(1)
|
|
668
|
+
@locations = locations
|
|
666
669
|
@define = define
|
|
667
670
|
end
|
|
668
671
|
|
|
669
672
|
def parse
|
|
670
|
-
|
|
673
|
+
message = "parse '#{File.basename(@path)}'"
|
|
674
|
+
report_duration(message) do
|
|
671
675
|
@lexer = Lrama::Lexer.new(@grammar_file)
|
|
672
|
-
@grammar = Lrama::Grammar.new(@rule_counter, @define)
|
|
676
|
+
@grammar = Lrama::Grammar.new(@rule_counter, @locations, @define)
|
|
673
677
|
@precedence_number = 0
|
|
674
678
|
reset_precs
|
|
675
679
|
do_parse
|
|
@@ -682,7 +686,14 @@ def next_token
|
|
|
682
686
|
end
|
|
683
687
|
|
|
684
688
|
def on_error(error_token_id, error_value, value_stack)
|
|
685
|
-
|
|
689
|
+
case error_value
|
|
690
|
+
when Lrama::Lexer::Token::Int
|
|
691
|
+
location = error_value.location
|
|
692
|
+
value = "#{error_value.s_value}"
|
|
693
|
+
when Lrama::Lexer::Token::Token
|
|
694
|
+
location = error_value.location
|
|
695
|
+
value = "\"#{error_value.s_value}\""
|
|
696
|
+
when Lrama::Lexer::Token::Base
|
|
686
697
|
location = error_value.location
|
|
687
698
|
value = "'#{error_value.s_value}'"
|
|
688
699
|
else
|
|
@@ -696,7 +707,7 @@ def on_error(error_token_id, error_value, value_stack)
|
|
|
696
707
|
end
|
|
697
708
|
|
|
698
709
|
def on_action_error(error_message, error_value)
|
|
699
|
-
if error_value.is_a?(Lrama::Lexer::Token)
|
|
710
|
+
if error_value.is_a?(Lrama::Lexer::Token::Base)
|
|
700
711
|
location = error_value.location
|
|
701
712
|
else
|
|
702
713
|
location = @lexer.location
|
|
@@ -708,10 +719,15 @@ end
|
|
|
708
719
|
private
|
|
709
720
|
|
|
710
721
|
def reset_precs
|
|
711
|
-
@
|
|
722
|
+
@opening_prec_seen = false
|
|
723
|
+
@trailing_prec_seen = false
|
|
712
724
|
@code_after_prec = false
|
|
713
725
|
end
|
|
714
726
|
|
|
727
|
+
def prec_seen?
|
|
728
|
+
@opening_prec_seen || @trailing_prec_seen
|
|
729
|
+
end
|
|
730
|
+
|
|
715
731
|
def begin_c_declaration(end_symbol)
|
|
716
732
|
@lexer.status = :c_declaration
|
|
717
733
|
@lexer.end_symbol = end_symbol
|
|
@@ -729,306 +745,322 @@ end
|
|
|
729
745
|
##### State transition tables begin ###
|
|
730
746
|
|
|
731
747
|
racc_action_table = [
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
28, 29, 30, 31,
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
748
|
+
98, 98, 99, 99, 87, 53, 53, 52, 178, 110,
|
|
749
|
+
110, 97, 53, 53, 184, 178, 110, 110, 53, 181,
|
|
750
|
+
184, 162, 110, 6, 163, 181, 181, 53, 53, 52,
|
|
751
|
+
52, 181, 79, 79, 53, 53, 52, 52, 43, 79,
|
|
752
|
+
79, 53, 4, 52, 5, 110, 88, 94, 182, 125,
|
|
753
|
+
126, 163, 100, 100, 180, 193, 194, 195, 137, 185,
|
|
754
|
+
188, 180, 4, 44, 5, 185, 188, 94, 24, 25,
|
|
755
|
+
26, 27, 28, 29, 30, 31, 32, 46, 33, 34,
|
|
756
|
+
35, 36, 37, 38, 39, 40, 41, 47, 24, 25,
|
|
757
|
+
26, 27, 28, 29, 30, 31, 32, 47, 33, 34,
|
|
758
|
+
35, 36, 37, 38, 39, 40, 41, 12, 13, 50,
|
|
759
|
+
57, 14, 15, 16, 17, 18, 19, 20, 24, 25,
|
|
760
|
+
26, 27, 28, 29, 30, 31, 32, 57, 33, 34,
|
|
761
|
+
35, 36, 37, 38, 39, 40, 41, 12, 13, 57,
|
|
762
|
+
60, 14, 15, 16, 17, 18, 19, 20, 24, 25,
|
|
763
|
+
26, 27, 28, 29, 30, 31, 32, 57, 33, 34,
|
|
764
|
+
35, 36, 37, 38, 39, 40, 41, 53, 53, 52,
|
|
765
|
+
52, 110, 105, 53, 53, 52, 52, 110, 105, 53,
|
|
766
|
+
53, 52, 52, 110, 105, 53, 53, 52, 52, 110,
|
|
767
|
+
105, 53, 53, 52, 52, 110, 110, 53, 53, 52,
|
|
768
|
+
209, 110, 110, 53, 53, 209, 52, 110, 110, 53,
|
|
769
|
+
53, 209, 52, 110, 193, 194, 195, 137, 216, 222,
|
|
770
|
+
229, 217, 217, 217, 53, 53, 52, 52, 193, 194,
|
|
771
|
+
195, 57, 57, 57, 57, 66, 67, 68, 69, 70,
|
|
772
|
+
72, 72, 72, 86, 89, 47, 57, 57, 113, 117,
|
|
773
|
+
117, 79, 123, 124, 131, 47, 133, 137, 139, 143,
|
|
774
|
+
149, 150, 151, 152, 133, 155, 156, 157, 110, 166,
|
|
775
|
+
149, 169, 172, 173, 72, 175, 176, 183, 189, 166,
|
|
776
|
+
196, 137, 200, 202, 137, 166, 211, 166, 137, 72,
|
|
777
|
+
176, 218, 176, 72, 72, 227, 137, 72 ]
|
|
761
778
|
|
|
762
779
|
racc_action_check = [
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
3, 3,
|
|
775
|
-
3, 3,
|
|
776
|
-
3,
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
780
|
+
51, 97, 51, 97, 41, 75, 165, 75, 165, 75,
|
|
781
|
+
165, 51, 171, 190, 171, 190, 171, 190, 201, 165,
|
|
782
|
+
201, 148, 201, 1, 148, 171, 190, 36, 37, 36,
|
|
783
|
+
37, 201, 36, 37, 38, 39, 38, 39, 5, 38,
|
|
784
|
+
39, 117, 0, 117, 0, 117, 41, 46, 168, 88,
|
|
785
|
+
88, 168, 51, 97, 165, 177, 177, 177, 177, 171,
|
|
786
|
+
171, 190, 2, 6, 2, 201, 201, 90, 46, 46,
|
|
787
|
+
46, 46, 46, 46, 46, 46, 46, 9, 46, 46,
|
|
788
|
+
46, 46, 46, 46, 46, 46, 46, 10, 90, 90,
|
|
789
|
+
90, 90, 90, 90, 90, 90, 90, 11, 90, 90,
|
|
790
|
+
90, 90, 90, 90, 90, 90, 90, 3, 3, 12,
|
|
791
|
+
14, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
|
792
|
+
3, 3, 3, 3, 3, 3, 3, 15, 3, 3,
|
|
793
|
+
3, 3, 3, 3, 3, 3, 3, 8, 8, 16,
|
|
794
|
+
17, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
|
795
|
+
8, 8, 8, 8, 8, 8, 8, 18, 8, 8,
|
|
796
|
+
8, 8, 8, 8, 8, 8, 8, 63, 13, 63,
|
|
797
|
+
13, 63, 63, 64, 73, 64, 73, 64, 64, 65,
|
|
798
|
+
78, 65, 78, 65, 65, 106, 79, 106, 79, 106,
|
|
799
|
+
106, 118, 180, 118, 180, 118, 180, 188, 196, 188,
|
|
800
|
+
196, 188, 196, 202, 217, 202, 217, 202, 217, 218,
|
|
801
|
+
113, 218, 113, 218, 186, 186, 186, 186, 208, 213,
|
|
802
|
+
226, 208, 213, 226, 114, 123, 114, 123, 210, 210,
|
|
803
|
+
210, 24, 25, 26, 27, 28, 29, 30, 31, 32,
|
|
804
|
+
33, 34, 35, 40, 42, 47, 55, 60, 71, 74,
|
|
805
|
+
76, 80, 81, 87, 91, 92, 93, 94, 102, 116,
|
|
806
|
+
124, 125, 126, 127, 133, 136, 137, 138, 144, 150,
|
|
807
|
+
151, 153, 156, 158, 162, 163, 164, 170, 174, 176,
|
|
808
|
+
178, 179, 182, 184, 187, 189, 199, 200, 204, 205,
|
|
809
|
+
207, 209, 212, 214, 216, 221, 222, 228 ]
|
|
792
810
|
|
|
793
811
|
racc_action_pointer = [
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
nil,
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
nil, nil, nil, nil,
|
|
805
|
-
nil,
|
|
806
|
-
nil, nil, nil,
|
|
807
|
-
nil, nil, nil,
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
nil, nil,
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
812
|
+
32, 23, 52, 93, nil, 31, 63, nil, 123, 68,
|
|
813
|
+
74, 84, 103, 165, 94, 111, 123, 135, 141, nil,
|
|
814
|
+
nil, nil, nil, nil, 215, 216, 217, 218, 230, 231,
|
|
815
|
+
232, 233, 234, 232, 233, 234, 24, 25, 31, 32,
|
|
816
|
+
238, -1, 242, nil, nil, nil, 43, 232, nil, nil,
|
|
817
|
+
nil, -5, nil, nil, nil, 230, nil, nil, nil, nil,
|
|
818
|
+
231, nil, nil, 164, 170, 176, nil, nil, nil, nil,
|
|
819
|
+
nil, 240, nil, 171, 241, 2, 242, nil, 177, 183,
|
|
820
|
+
243, 244, nil, nil, nil, nil, nil, 209, 45, nil,
|
|
821
|
+
63, 245, 242, 243, 202, nil, nil, -4, nil, nil,
|
|
822
|
+
nil, nil, 256, nil, nil, nil, 182, nil, nil, nil,
|
|
823
|
+
nil, nil, nil, 207, 221, nil, 253, 38, 188, nil,
|
|
824
|
+
nil, nil, nil, 222, 255, 215, 218, 252, nil, nil,
|
|
825
|
+
nil, nil, nil, 251, nil, nil, 219, 261, 250, nil,
|
|
826
|
+
nil, nil, nil, nil, 261, nil, nil, nil, -24, nil,
|
|
827
|
+
219, 265, nil, 269, nil, nil, 216, nil, 256, nil,
|
|
828
|
+
nil, nil, 266, 270, 227, 3, nil, nil, 3, nil,
|
|
829
|
+
228, 9, nil, nil, 232, nil, 229, 3, 236, 226,
|
|
830
|
+
189, nil, 236, nil, 239, nil, 162, 229, 194, 235,
|
|
831
|
+
10, nil, nil, nil, nil, nil, 195, nil, nil, 284,
|
|
832
|
+
237, 15, 200, nil, 233, 281, nil, 241, 173, 247,
|
|
833
|
+
176, nil, 243, 174, 285, nil, 286, 201, 206, nil,
|
|
834
|
+
nil, 278, 241, nil, nil, nil, 175, nil, 289, nil,
|
|
835
|
+
nil ]
|
|
816
836
|
|
|
817
837
|
racc_action_default = [
|
|
818
|
-
-1, -
|
|
819
|
-
-
|
|
820
|
-
|
|
821
|
-
-
|
|
822
|
-
-
|
|
823
|
-
-
|
|
824
|
-
-
|
|
825
|
-
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
-
|
|
833
|
-
-
|
|
834
|
-
|
|
835
|
-
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
-
|
|
839
|
-
|
|
838
|
+
-1, -136, -1, -3, -10, -136, -136, -2, -3, -136,
|
|
839
|
+
-14, -14, -136, -136, -136, -136, -136, -136, -136, -28,
|
|
840
|
+
-29, -34, -35, -36, -136, -136, -136, -136, -136, -136,
|
|
841
|
+
-136, -136, -136, -54, -54, -54, -136, -136, -136, -136,
|
|
842
|
+
-136, -136, -136, -13, 231, -4, -136, -14, -16, -17,
|
|
843
|
+
-20, -131, -100, -101, -130, -18, -23, -89, -24, -25,
|
|
844
|
+
-136, -27, -37, -136, -136, -136, -41, -42, -43, -44,
|
|
845
|
+
-45, -46, -55, -136, -47, -136, -48, -49, -92, -136,
|
|
846
|
+
-95, -97, -98, -50, -51, -52, -53, -136, -136, -11,
|
|
847
|
+
-5, -7, -14, -136, -72, -15, -21, -131, -132, -133,
|
|
848
|
+
-134, -19, -136, -26, -30, -31, -32, -38, -87, -88,
|
|
849
|
+
-135, -39, -40, -136, -56, -58, -60, -136, -83, -85,
|
|
850
|
+
-93, -94, -96, -136, -136, -136, -136, -136, -6, -8,
|
|
851
|
+
-9, -128, -104, -102, -105, -73, -136, -136, -136, -90,
|
|
852
|
+
-33, -59, -57, -61, -80, -86, -84, -99, -136, -66,
|
|
853
|
+
-70, -136, -12, -136, -103, -109, -136, -22, -136, -62,
|
|
854
|
+
-81, -82, -54, -136, -64, -68, -71, -74, -136, -129,
|
|
855
|
+
-106, -107, -127, -91, -136, -67, -70, -72, -100, -72,
|
|
856
|
+
-136, -124, -136, -109, -100, -110, -72, -72, -136, -70,
|
|
857
|
+
-69, -75, -76, -116, -117, -118, -136, -78, -79, -136,
|
|
858
|
+
-70, -108, -136, -111, -72, -54, -115, -63, -136, -100,
|
|
859
|
+
-119, -125, -65, -136, -54, -114, -54, -136, -136, -120,
|
|
860
|
+
-121, -136, -72, -112, -77, -122, -136, -126, -54, -123,
|
|
861
|
+
-113 ]
|
|
840
862
|
|
|
841
863
|
racc_goto_table = [
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
nil,
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
864
|
+
73, 118, 136, 54, 48, 49, 164, 96, 91, 120,
|
|
865
|
+
121, 93, 187, 148, 107, 111, 112, 119, 134, 171,
|
|
866
|
+
56, 58, 59, 3, 61, 7, 78, 78, 78, 78,
|
|
867
|
+
62, 63, 64, 65, 115, 74, 76, 192, 1, 129,
|
|
868
|
+
168, 95, 187, 118, 118, 207, 204, 201, 77, 83,
|
|
869
|
+
84, 85, 128, 138, 147, 93, 212, 140, 154, 145,
|
|
870
|
+
146, 101, 130, 116, 42, 127, 103, 208, 78, 78,
|
|
871
|
+
219, 9, 51, 213, 141, 142, 45, 71, 159, 144,
|
|
872
|
+
190, 160, 161, 102, 158, 191, 132, 197, 122, 226,
|
|
873
|
+
170, 177, 220, 199, 203, 205, 221, 186, 153, nil,
|
|
874
|
+
nil, nil, nil, 116, 116, nil, 198, nil, nil, nil,
|
|
875
|
+
nil, nil, 214, 78, 206, nil, 177, nil, nil, nil,
|
|
876
|
+
nil, nil, 210, nil, nil, nil, nil, 186, 210, 174,
|
|
877
|
+
228, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
|
878
|
+
nil, nil, nil, 225, 210, nil, nil, nil, nil, nil,
|
|
856
879
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
|
857
880
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
|
858
|
-
nil,
|
|
859
|
-
|
|
860
|
-
nil, nil, nil, nil,
|
|
881
|
+
nil, nil, 215, nil, nil, nil, nil, nil, nil, nil,
|
|
882
|
+
nil, 223, nil, 224, nil, nil, nil, nil, nil, nil,
|
|
883
|
+
nil, nil, nil, nil, nil, 230 ]
|
|
861
884
|
|
|
862
885
|
racc_goto_check = [
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
nil,
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
nil, nil, nil, nil, nil,
|
|
886
|
+
29, 22, 42, 31, 14, 14, 35, 16, 8, 48,
|
|
887
|
+
48, 13, 40, 34, 24, 24, 24, 45, 52, 54,
|
|
888
|
+
18, 18, 18, 6, 17, 6, 31, 31, 31, 31,
|
|
889
|
+
17, 17, 17, 17, 30, 26, 26, 38, 1, 5,
|
|
890
|
+
34, 14, 40, 22, 22, 35, 38, 54, 27, 27,
|
|
891
|
+
27, 27, 8, 16, 48, 13, 35, 24, 52, 45,
|
|
892
|
+
45, 18, 9, 31, 10, 11, 17, 39, 31, 31,
|
|
893
|
+
38, 7, 15, 39, 30, 30, 7, 25, 32, 33,
|
|
894
|
+
36, 43, 44, 46, 47, 42, 14, 42, 50, 39,
|
|
895
|
+
53, 22, 55, 56, 42, 42, 57, 22, 58, nil,
|
|
896
|
+
nil, nil, nil, 31, 31, nil, 22, nil, nil, nil,
|
|
897
|
+
nil, nil, 42, 31, 22, nil, 22, nil, nil, nil,
|
|
898
|
+
nil, nil, 22, nil, nil, nil, nil, 22, 22, 29,
|
|
899
|
+
42, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
|
900
|
+
nil, nil, nil, 22, 22, nil, nil, nil, nil, nil,
|
|
877
901
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
|
878
902
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
|
879
|
-
nil,
|
|
880
|
-
|
|
881
|
-
nil, nil, nil, nil,
|
|
903
|
+
nil, nil, 29, nil, nil, nil, nil, nil, nil, nil,
|
|
904
|
+
nil, 29, nil, 29, nil, nil, nil, nil, nil, nil,
|
|
905
|
+
nil, nil, nil, nil, nil, 29 ]
|
|
882
906
|
|
|
883
907
|
racc_goto_pointer = [
|
|
884
|
-
nil,
|
|
885
|
-
|
|
886
|
-
-
|
|
887
|
-
-
|
|
888
|
-
-
|
|
889
|
-
-
|
|
908
|
+
nil, 38, nil, nil, nil, -52, 23, 68, -38, -29,
|
|
909
|
+
60, -24, nil, -35, -6, 59, -44, 6, 6, nil,
|
|
910
|
+
nil, nil, -74, nil, -49, 44, 1, 12, nil, -33,
|
|
911
|
+
-39, -10, -66, -37, -111, -144, -96, nil, -140, -129,
|
|
912
|
+
-159, nil, -92, -63, -62, -58, 26, -55, -69, nil,
|
|
913
|
+
8, nil, -75, -65, -136, -118, -88, -115, -33 ]
|
|
890
914
|
|
|
891
915
|
racc_goto_default = [
|
|
892
|
-
nil, nil, 2, 8,
|
|
893
|
-
nil, nil, 10, nil, nil,
|
|
894
|
-
|
|
895
|
-
nil, nil, nil, nil,
|
|
896
|
-
nil,
|
|
897
|
-
nil, nil, nil, nil, nil ]
|
|
916
|
+
nil, nil, 2, 8, 90, nil, nil, nil, nil, nil,
|
|
917
|
+
nil, nil, 10, 11, nil, nil, nil, 55, nil, 21,
|
|
918
|
+
22, 23, 104, 106, nil, nil, nil, nil, 114, 75,
|
|
919
|
+
nil, 108, nil, nil, nil, nil, 165, 135, nil, nil,
|
|
920
|
+
179, 167, nil, 109, nil, nil, nil, nil, 81, 80,
|
|
921
|
+
82, 92, nil, nil, nil, nil, nil, nil, nil ]
|
|
898
922
|
|
|
899
923
|
racc_reduce_table = [
|
|
900
924
|
0, 0, :racc_error,
|
|
901
|
-
0,
|
|
902
|
-
2,
|
|
903
|
-
0,
|
|
904
|
-
2,
|
|
905
|
-
1,
|
|
906
|
-
2,
|
|
907
|
-
0,
|
|
908
|
-
1,
|
|
909
|
-
5,
|
|
910
|
-
0,
|
|
911
|
-
0,
|
|
912
|
-
5,
|
|
913
|
-
2,
|
|
914
|
-
|
|
915
|
-
2,
|
|
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,
|
|
932
|
-
1, 69, :_reduce_none,
|
|
933
|
-
1, 69, :_reduce_none,
|
|
934
|
-
1, 69, :_reduce_none,
|
|
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,
|
|
925
|
+
0, 64, :_reduce_1,
|
|
926
|
+
2, 64, :_reduce_2,
|
|
927
|
+
0, 65, :_reduce_3,
|
|
928
|
+
2, 65, :_reduce_4,
|
|
929
|
+
1, 66, :_reduce_5,
|
|
930
|
+
2, 66, :_reduce_6,
|
|
931
|
+
0, 67, :_reduce_none,
|
|
932
|
+
1, 67, :_reduce_none,
|
|
933
|
+
5, 59, :_reduce_none,
|
|
934
|
+
0, 68, :_reduce_10,
|
|
935
|
+
0, 69, :_reduce_11,
|
|
936
|
+
5, 60, :_reduce_12,
|
|
937
|
+
2, 60, :_reduce_13,
|
|
938
|
+
0, 72, :_reduce_14,
|
|
939
|
+
2, 72, :_reduce_15,
|
|
997
940
|
2, 61, :_reduce_none,
|
|
998
941
|
2, 61, :_reduce_none,
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
3,
|
|
1008
|
-
|
|
1009
|
-
1,
|
|
1010
|
-
1,
|
|
1011
|
-
|
|
1012
|
-
1,
|
|
1013
|
-
|
|
1014
|
-
|
|
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,
|
|
942
|
+
1, 76, :_reduce_18,
|
|
943
|
+
2, 76, :_reduce_19,
|
|
944
|
+
2, 70, :_reduce_20,
|
|
945
|
+
3, 70, :_reduce_21,
|
|
946
|
+
5, 70, :_reduce_22,
|
|
947
|
+
2, 70, :_reduce_none,
|
|
948
|
+
2, 70, :_reduce_24,
|
|
949
|
+
2, 70, :_reduce_25,
|
|
950
|
+
3, 70, :_reduce_26,
|
|
951
|
+
2, 70, :_reduce_27,
|
|
952
|
+
1, 70, :_reduce_28,
|
|
953
|
+
1, 70, :_reduce_29,
|
|
954
|
+
1, 81, :_reduce_30,
|
|
955
|
+
1, 81, :_reduce_31,
|
|
956
|
+
1, 82, :_reduce_32,
|
|
957
|
+
2, 82, :_reduce_33,
|
|
1024
958
|
1, 71, :_reduce_none,
|
|
1025
959
|
1, 71, :_reduce_none,
|
|
1026
960
|
1, 71, :_reduce_none,
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
961
|
+
2, 71, :_reduce_37,
|
|
962
|
+
3, 71, :_reduce_38,
|
|
963
|
+
3, 71, :_reduce_39,
|
|
964
|
+
3, 71, :_reduce_40,
|
|
965
|
+
2, 71, :_reduce_41,
|
|
966
|
+
2, 71, :_reduce_42,
|
|
967
|
+
2, 71, :_reduce_43,
|
|
968
|
+
2, 71, :_reduce_44,
|
|
969
|
+
2, 71, :_reduce_45,
|
|
970
|
+
2, 77, :_reduce_none,
|
|
971
|
+
2, 77, :_reduce_47,
|
|
972
|
+
2, 77, :_reduce_48,
|
|
973
|
+
2, 77, :_reduce_49,
|
|
974
|
+
2, 77, :_reduce_50,
|
|
975
|
+
2, 77, :_reduce_51,
|
|
976
|
+
2, 77, :_reduce_52,
|
|
977
|
+
2, 77, :_reduce_53,
|
|
978
|
+
0, 87, :_reduce_none,
|
|
979
|
+
1, 87, :_reduce_none,
|
|
980
|
+
1, 88, :_reduce_56,
|
|
981
|
+
2, 88, :_reduce_57,
|
|
982
|
+
2, 83, :_reduce_58,
|
|
983
|
+
3, 83, :_reduce_59,
|
|
984
|
+
0, 91, :_reduce_none,
|
|
985
|
+
1, 91, :_reduce_none,
|
|
986
|
+
3, 86, :_reduce_62,
|
|
987
|
+
8, 78, :_reduce_63,
|
|
988
|
+
5, 79, :_reduce_64,
|
|
989
|
+
8, 79, :_reduce_65,
|
|
990
|
+
1, 92, :_reduce_66,
|
|
991
|
+
3, 92, :_reduce_67,
|
|
992
|
+
1, 93, :_reduce_68,
|
|
993
|
+
3, 93, :_reduce_69,
|
|
994
|
+
0, 99, :_reduce_none,
|
|
995
|
+
1, 99, :_reduce_none,
|
|
996
|
+
0, 100, :_reduce_none,
|
|
997
|
+
1, 100, :_reduce_none,
|
|
998
|
+
1, 94, :_reduce_74,
|
|
999
|
+
3, 94, :_reduce_75,
|
|
1000
|
+
3, 94, :_reduce_76,
|
|
1001
|
+
6, 94, :_reduce_77,
|
|
1002
|
+
3, 94, :_reduce_78,
|
|
1003
|
+
3, 94, :_reduce_79,
|
|
1004
|
+
0, 102, :_reduce_none,
|
|
1005
|
+
1, 102, :_reduce_none,
|
|
1006
|
+
1, 90, :_reduce_82,
|
|
1007
|
+
1, 103, :_reduce_83,
|
|
1008
|
+
2, 103, :_reduce_84,
|
|
1009
|
+
2, 84, :_reduce_85,
|
|
1010
|
+
3, 84, :_reduce_86,
|
|
1011
|
+
1, 80, :_reduce_none,
|
|
1012
|
+
1, 80, :_reduce_none,
|
|
1013
|
+
0, 104, :_reduce_89,
|
|
1014
|
+
0, 105, :_reduce_90,
|
|
1015
|
+
5, 75, :_reduce_91,
|
|
1016
|
+
1, 106, :_reduce_92,
|
|
1017
|
+
2, 106, :_reduce_93,
|
|
1018
|
+
2, 107, :_reduce_94,
|
|
1019
|
+
1, 108, :_reduce_95,
|
|
1020
|
+
2, 108, :_reduce_96,
|
|
1021
|
+
1, 85, :_reduce_97,
|
|
1022
|
+
1, 85, :_reduce_98,
|
|
1023
|
+
3, 85, :_reduce_99,
|
|
1024
|
+
1, 89, :_reduce_none,
|
|
1025
|
+
1, 89, :_reduce_none,
|
|
1026
|
+
1, 110, :_reduce_102,
|
|
1027
|
+
2, 110, :_reduce_103,
|
|
1028
|
+
2, 62, :_reduce_none,
|
|
1029
|
+
2, 62, :_reduce_none,
|
|
1030
|
+
4, 109, :_reduce_106,
|
|
1031
|
+
1, 111, :_reduce_107,
|
|
1032
|
+
3, 111, :_reduce_108,
|
|
1033
|
+
0, 112, :_reduce_109,
|
|
1034
|
+
2, 112, :_reduce_110,
|
|
1035
|
+
3, 112, :_reduce_111,
|
|
1036
|
+
5, 112, :_reduce_112,
|
|
1037
|
+
7, 112, :_reduce_113,
|
|
1038
|
+
4, 112, :_reduce_114,
|
|
1039
|
+
3, 112, :_reduce_115,
|
|
1040
|
+
1, 96, :_reduce_116,
|
|
1041
|
+
1, 96, :_reduce_117,
|
|
1042
|
+
1, 96, :_reduce_118,
|
|
1043
|
+
0, 113, :_reduce_none,
|
|
1044
|
+
1, 113, :_reduce_none,
|
|
1045
|
+
2, 97, :_reduce_121,
|
|
1046
|
+
3, 97, :_reduce_122,
|
|
1047
|
+
4, 97, :_reduce_123,
|
|
1048
|
+
0, 114, :_reduce_124,
|
|
1049
|
+
0, 115, :_reduce_125,
|
|
1050
|
+
5, 98, :_reduce_126,
|
|
1051
|
+
3, 95, :_reduce_127,
|
|
1052
|
+
0, 116, :_reduce_128,
|
|
1053
|
+
3, 63, :_reduce_129,
|
|
1054
|
+
1, 73, :_reduce_none,
|
|
1055
|
+
0, 74, :_reduce_none,
|
|
1056
|
+
1, 74, :_reduce_none,
|
|
1057
|
+
1, 74, :_reduce_none,
|
|
1058
|
+
1, 74, :_reduce_none,
|
|
1059
|
+
1, 101, :_reduce_135 ]
|
|
1060
|
+
|
|
1061
|
+
racc_reduce_n = 136
|
|
1062
|
+
|
|
1063
|
+
racc_shift_n = 231
|
|
1032
1064
|
|
|
1033
1065
|
racc_token_table = {
|
|
1034
1066
|
false => 0,
|
|
@@ -1044,52 +1076,53 @@ racc_token_table = {
|
|
|
1044
1076
|
"%{" => 10,
|
|
1045
1077
|
"%}" => 11,
|
|
1046
1078
|
"%require" => 12,
|
|
1047
|
-
"
|
|
1048
|
-
"%
|
|
1049
|
-
"%
|
|
1050
|
-
"
|
|
1051
|
-
"
|
|
1052
|
-
"%
|
|
1053
|
-
"%
|
|
1054
|
-
"%
|
|
1055
|
-
"%
|
|
1056
|
-
"
|
|
1057
|
-
"%
|
|
1058
|
-
"%
|
|
1059
|
-
"%
|
|
1060
|
-
"%
|
|
1061
|
-
"%
|
|
1062
|
-
"%
|
|
1063
|
-
"%after-
|
|
1064
|
-
"%
|
|
1065
|
-
"%after-
|
|
1066
|
-
"-
|
|
1067
|
-
"%
|
|
1068
|
-
"
|
|
1069
|
-
"%
|
|
1070
|
-
"%
|
|
1071
|
-
"%
|
|
1072
|
-
"%
|
|
1073
|
-
"%
|
|
1074
|
-
"%
|
|
1075
|
-
"
|
|
1076
|
-
"
|
|
1077
|
-
"
|
|
1078
|
-
"
|
|
1079
|
-
"
|
|
1080
|
-
"
|
|
1081
|
-
"%
|
|
1082
|
-
"
|
|
1083
|
-
"
|
|
1084
|
-
"
|
|
1085
|
-
"
|
|
1086
|
-
"
|
|
1087
|
-
"
|
|
1088
|
-
"
|
|
1089
|
-
"
|
|
1090
|
-
"
|
|
1091
|
-
|
|
1092
|
-
|
|
1079
|
+
";" => 13,
|
|
1080
|
+
"%expect" => 14,
|
|
1081
|
+
"%define" => 15,
|
|
1082
|
+
"{" => 16,
|
|
1083
|
+
"}" => 17,
|
|
1084
|
+
"%param" => 18,
|
|
1085
|
+
"%lex-param" => 19,
|
|
1086
|
+
"%parse-param" => 20,
|
|
1087
|
+
"%code" => 21,
|
|
1088
|
+
"%initial-action" => 22,
|
|
1089
|
+
"%no-stdlib" => 23,
|
|
1090
|
+
"%locations" => 24,
|
|
1091
|
+
"%union" => 25,
|
|
1092
|
+
"%destructor" => 26,
|
|
1093
|
+
"%printer" => 27,
|
|
1094
|
+
"%error-token" => 28,
|
|
1095
|
+
"%after-shift" => 29,
|
|
1096
|
+
"%before-reduce" => 30,
|
|
1097
|
+
"%after-reduce" => 31,
|
|
1098
|
+
"%after-shift-error-token" => 32,
|
|
1099
|
+
"%after-pop-stack" => 33,
|
|
1100
|
+
"-temp-group" => 34,
|
|
1101
|
+
"%token" => 35,
|
|
1102
|
+
"%type" => 36,
|
|
1103
|
+
"%nterm" => 37,
|
|
1104
|
+
"%left" => 38,
|
|
1105
|
+
"%right" => 39,
|
|
1106
|
+
"%precedence" => 40,
|
|
1107
|
+
"%nonassoc" => 41,
|
|
1108
|
+
"%start" => 42,
|
|
1109
|
+
"%rule" => 43,
|
|
1110
|
+
"(" => 44,
|
|
1111
|
+
")" => 45,
|
|
1112
|
+
":" => 46,
|
|
1113
|
+
"%inline" => 47,
|
|
1114
|
+
"," => 48,
|
|
1115
|
+
"|" => 49,
|
|
1116
|
+
"%empty" => 50,
|
|
1117
|
+
"%prec" => 51,
|
|
1118
|
+
"?" => 52,
|
|
1119
|
+
"+" => 53,
|
|
1120
|
+
"*" => 54,
|
|
1121
|
+
"[" => 55,
|
|
1122
|
+
"]" => 56,
|
|
1123
|
+
"{...}" => 57 }
|
|
1124
|
+
|
|
1125
|
+
racc_nt_base = 58
|
|
1093
1126
|
|
|
1094
1127
|
racc_use_result_var = true
|
|
1095
1128
|
|
|
@@ -1124,8 +1157,11 @@ Racc_token_to_s_table = [
|
|
|
1124
1157
|
"\"%{\"",
|
|
1125
1158
|
"\"%}\"",
|
|
1126
1159
|
"\"%require\"",
|
|
1160
|
+
"\";\"",
|
|
1127
1161
|
"\"%expect\"",
|
|
1128
1162
|
"\"%define\"",
|
|
1163
|
+
"\"{\"",
|
|
1164
|
+
"\"}\"",
|
|
1129
1165
|
"\"%param\"",
|
|
1130
1166
|
"\"%lex-param\"",
|
|
1131
1167
|
"\"%parse-param\"",
|
|
@@ -1133,7 +1169,6 @@ Racc_token_to_s_table = [
|
|
|
1133
1169
|
"\"%initial-action\"",
|
|
1134
1170
|
"\"%no-stdlib\"",
|
|
1135
1171
|
"\"%locations\"",
|
|
1136
|
-
"\";\"",
|
|
1137
1172
|
"\"%union\"",
|
|
1138
1173
|
"\"%destructor\"",
|
|
1139
1174
|
"\"%printer\"",
|
|
@@ -1151,6 +1186,7 @@ Racc_token_to_s_table = [
|
|
|
1151
1186
|
"\"%right\"",
|
|
1152
1187
|
"\"%precedence\"",
|
|
1153
1188
|
"\"%nonassoc\"",
|
|
1189
|
+
"\"%start\"",
|
|
1154
1190
|
"\"%rule\"",
|
|
1155
1191
|
"\"(\"",
|
|
1156
1192
|
"\")\"",
|
|
@@ -1160,8 +1196,6 @@ Racc_token_to_s_table = [
|
|
|
1160
1196
|
"\"|\"",
|
|
1161
1197
|
"\"%empty\"",
|
|
1162
1198
|
"\"%prec\"",
|
|
1163
|
-
"\"{\"",
|
|
1164
|
-
"\"}\"",
|
|
1165
1199
|
"\"?\"",
|
|
1166
1200
|
"\"+\"",
|
|
1167
1201
|
"\"*\"",
|
|
@@ -1180,7 +1214,9 @@ Racc_token_to_s_table = [
|
|
|
1180
1214
|
"\"-option@epilogue_declaration\"",
|
|
1181
1215
|
"@1",
|
|
1182
1216
|
"@2",
|
|
1217
|
+
"parser_option",
|
|
1183
1218
|
"grammar_declaration",
|
|
1219
|
+
"\"-many@;\"",
|
|
1184
1220
|
"variable",
|
|
1185
1221
|
"value",
|
|
1186
1222
|
"param",
|
|
@@ -1204,9 +1240,9 @@ Racc_token_to_s_table = [
|
|
|
1204
1240
|
"rule_rhs_list",
|
|
1205
1241
|
"rule_rhs",
|
|
1206
1242
|
"named_ref",
|
|
1207
|
-
"
|
|
1208
|
-
"
|
|
1209
|
-
"
|
|
1243
|
+
"parameterized_suffix",
|
|
1244
|
+
"parameterized_args",
|
|
1245
|
+
"action",
|
|
1210
1246
|
"\"-option@%empty\"",
|
|
1211
1247
|
"\"-option@named_ref\"",
|
|
1212
1248
|
"string_as_id",
|
|
@@ -1215,11 +1251,13 @@ Racc_token_to_s_table = [
|
|
|
1215
1251
|
"@3",
|
|
1216
1252
|
"@4",
|
|
1217
1253
|
"\"-many1@id\"",
|
|
1254
|
+
"\"-group@TAG-\\\"-many1@id\\\"\"",
|
|
1255
|
+
"\"-many1@-group@TAG-\\\"-many1@id\\\"\"",
|
|
1218
1256
|
"rules",
|
|
1219
|
-
"\"-
|
|
1257
|
+
"\"-many1@;\"",
|
|
1220
1258
|
"rhs_list",
|
|
1221
1259
|
"rhs",
|
|
1222
|
-
"\"-option@
|
|
1260
|
+
"\"-option@parameterized_suffix\"",
|
|
1223
1261
|
"@5",
|
|
1224
1262
|
"@6",
|
|
1225
1263
|
"@7" ]
|
|
@@ -1279,10 +1317,9 @@ module_eval(<<'.,.,', 'parser.y', 11)
|
|
|
1279
1317
|
|
|
1280
1318
|
# reduce 9 omitted
|
|
1281
1319
|
|
|
1282
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1320
|
+
module_eval(<<'.,.,', 'parser.y', 13)
|
|
1283
1321
|
def _reduce_10(val, _values, result)
|
|
1284
|
-
|
|
1285
|
-
@grammar.prologue_first_lineno = @lexer.line
|
|
1322
|
+
begin_c_declaration("%}")
|
|
1286
1323
|
|
|
1287
1324
|
result
|
|
1288
1325
|
end
|
|
@@ -1290,7 +1327,7 @@ module_eval(<<'.,.,', 'parser.y', 12)
|
|
|
1290
1327
|
|
|
1291
1328
|
module_eval(<<'.,.,', 'parser.y', 17)
|
|
1292
1329
|
def _reduce_11(val, _values, result)
|
|
1293
|
-
|
|
1330
|
+
end_c_declaration
|
|
1294
1331
|
|
|
1295
1332
|
result
|
|
1296
1333
|
end
|
|
@@ -1298,22 +1335,29 @@ module_eval(<<'.,.,', 'parser.y', 17)
|
|
|
1298
1335
|
|
|
1299
1336
|
module_eval(<<'.,.,', 'parser.y', 21)
|
|
1300
1337
|
def _reduce_12(val, _values, result)
|
|
1301
|
-
|
|
1338
|
+
@grammar.prologue_first_lineno = val[0].first_line
|
|
1339
|
+
@grammar.prologue = val[2].s_value
|
|
1302
1340
|
|
|
1303
1341
|
result
|
|
1304
1342
|
end
|
|
1305
1343
|
.,.,
|
|
1306
1344
|
|
|
1307
|
-
|
|
1345
|
+
module_eval(<<'.,.,', 'parser.y', 26)
|
|
1346
|
+
def _reduce_13(val, _values, result)
|
|
1347
|
+
@grammar.required = true
|
|
1308
1348
|
|
|
1309
|
-
|
|
1349
|
+
result
|
|
1350
|
+
end
|
|
1351
|
+
.,.,
|
|
1352
|
+
|
|
1353
|
+
module_eval(<<'.,.,', 'parser.y', 34)
|
|
1310
1354
|
def _reduce_14(val, _values, result)
|
|
1311
1355
|
result = val[1] ? val[1].unshift(val[0]) : val
|
|
1312
1356
|
result
|
|
1313
1357
|
end
|
|
1314
1358
|
.,.,
|
|
1315
1359
|
|
|
1316
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1360
|
+
module_eval(<<'.,.,', 'parser.y', 34)
|
|
1317
1361
|
def _reduce_15(val, _values, result)
|
|
1318
1362
|
result = val[1] ? val[1].unshift(val[0]) : val
|
|
1319
1363
|
result
|
|
@@ -1322,150 +1366,140 @@ module_eval(<<'.,.,', 'parser.y', 54)
|
|
|
1322
1366
|
|
|
1323
1367
|
# reduce 16 omitted
|
|
1324
1368
|
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1369
|
+
# reduce 17 omitted
|
|
1370
|
+
|
|
1371
|
+
module_eval(<<'.,.,', 'parser.y', 77)
|
|
1372
|
+
def _reduce_18(val, _values, result)
|
|
1373
|
+
result = val[1] ? val[1].unshift(val[0]) : val
|
|
1328
1374
|
result
|
|
1329
1375
|
end
|
|
1330
1376
|
.,.,
|
|
1331
1377
|
|
|
1332
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1333
|
-
def
|
|
1334
|
-
|
|
1378
|
+
module_eval(<<'.,.,', 'parser.y', 77)
|
|
1379
|
+
def _reduce_19(val, _values, result)
|
|
1380
|
+
result = val[1] ? val[1].unshift(val[0]) : val
|
|
1335
1381
|
result
|
|
1336
1382
|
end
|
|
1337
1383
|
.,.,
|
|
1338
1384
|
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
module_eval(<<'.,.,', 'parser.y', 31)
|
|
1385
|
+
module_eval(<<'.,.,', 'parser.y', 36)
|
|
1342
1386
|
def _reduce_20(val, _values, result)
|
|
1343
|
-
|
|
1344
|
-
@grammar.lex_param = Grammar::Code::NoReferenceCode.new(type: :lex_param, token_code: token).token_code.s_value
|
|
1345
|
-
}
|
|
1387
|
+
@grammar.expect = val[1].s_value
|
|
1346
1388
|
|
|
1347
1389
|
result
|
|
1348
1390
|
end
|
|
1349
1391
|
.,.,
|
|
1350
1392
|
|
|
1351
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1393
|
+
module_eval(<<'.,.,', 'parser.y', 40)
|
|
1352
1394
|
def _reduce_21(val, _values, result)
|
|
1353
|
-
|
|
1354
|
-
@grammar.parse_param = Grammar::Code::NoReferenceCode.new(type: :parse_param, token_code: token).token_code.s_value
|
|
1355
|
-
}
|
|
1395
|
+
@grammar.define[val[1].s_value] = val[2]&.s_value
|
|
1356
1396
|
|
|
1357
1397
|
result
|
|
1358
1398
|
end
|
|
1359
1399
|
.,.,
|
|
1360
1400
|
|
|
1361
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1401
|
+
module_eval(<<'.,.,', 'parser.y', 44)
|
|
1362
1402
|
def _reduce_22(val, _values, result)
|
|
1363
|
-
|
|
1403
|
+
@grammar.define[val[1].s_value] = val[3]&.s_value
|
|
1364
1404
|
|
|
1365
1405
|
result
|
|
1366
1406
|
end
|
|
1367
1407
|
.,.,
|
|
1368
1408
|
|
|
1369
|
-
|
|
1370
|
-
def _reduce_23(val, _values, result)
|
|
1371
|
-
@grammar.initial_action = Grammar::Code::InitialActionCode.new(type: :initial_action, token_code: val[1])
|
|
1372
|
-
|
|
1373
|
-
result
|
|
1374
|
-
end
|
|
1375
|
-
.,.,
|
|
1409
|
+
# reduce 23 omitted
|
|
1376
1410
|
|
|
1377
1411
|
module_eval(<<'.,.,', 'parser.y', 49)
|
|
1378
1412
|
def _reduce_24(val, _values, result)
|
|
1379
|
-
|
|
1413
|
+
val[1].each {|token|
|
|
1414
|
+
@grammar.lex_param = Grammar::Code::NoReferenceCode.new(type: :lex_param, token_code: token).token_code.s_value
|
|
1415
|
+
}
|
|
1416
|
+
|
|
1380
1417
|
result
|
|
1381
1418
|
end
|
|
1382
1419
|
.,.,
|
|
1383
1420
|
|
|
1384
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1421
|
+
module_eval(<<'.,.,', 'parser.y', 55)
|
|
1385
1422
|
def _reduce_25(val, _values, result)
|
|
1386
|
-
|
|
1423
|
+
val[1].each {|token|
|
|
1424
|
+
@grammar.parse_param = Grammar::Code::NoReferenceCode.new(type: :parse_param, token_code: token).token_code.s_value
|
|
1425
|
+
}
|
|
1426
|
+
|
|
1387
1427
|
result
|
|
1388
1428
|
end
|
|
1389
1429
|
.,.,
|
|
1390
1430
|
|
|
1391
|
-
|
|
1431
|
+
module_eval(<<'.,.,', 'parser.y', 61)
|
|
1432
|
+
def _reduce_26(val, _values, result)
|
|
1433
|
+
@grammar.add_percent_code(id: val[1], code: val[2])
|
|
1434
|
+
|
|
1435
|
+
result
|
|
1436
|
+
end
|
|
1437
|
+
.,.,
|
|
1392
1438
|
|
|
1393
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1439
|
+
module_eval(<<'.,.,', 'parser.y', 65)
|
|
1394
1440
|
def _reduce_27(val, _values, result)
|
|
1395
|
-
|
|
1441
|
+
@grammar.initial_action = Grammar::Code::InitialActionCode.new(type: :initial_action, token_code: val[1])
|
|
1442
|
+
|
|
1396
1443
|
result
|
|
1397
1444
|
end
|
|
1398
1445
|
.,.,
|
|
1399
1446
|
|
|
1400
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1447
|
+
module_eval(<<'.,.,', 'parser.y', 69)
|
|
1401
1448
|
def _reduce_28(val, _values, result)
|
|
1402
|
-
|
|
1449
|
+
@grammar.no_stdlib = true
|
|
1450
|
+
|
|
1403
1451
|
result
|
|
1404
1452
|
end
|
|
1405
1453
|
.,.,
|
|
1406
1454
|
|
|
1407
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1455
|
+
module_eval(<<'.,.,', 'parser.y', 73)
|
|
1408
1456
|
def _reduce_29(val, _values, result)
|
|
1409
|
-
|
|
1457
|
+
@grammar.locations = true
|
|
1458
|
+
|
|
1410
1459
|
result
|
|
1411
1460
|
end
|
|
1412
1461
|
.,.,
|
|
1413
1462
|
|
|
1414
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1463
|
+
module_eval(<<'.,.,', 'parser.y', 133)
|
|
1415
1464
|
def _reduce_30(val, _values, result)
|
|
1416
|
-
result = val
|
|
1465
|
+
result = val
|
|
1417
1466
|
result
|
|
1418
1467
|
end
|
|
1419
1468
|
.,.,
|
|
1420
1469
|
|
|
1421
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1470
|
+
module_eval(<<'.,.,', 'parser.y', 133)
|
|
1422
1471
|
def _reduce_31(val, _values, result)
|
|
1423
|
-
|
|
1424
|
-
Grammar::Code::NoReferenceCode.new(type: :union, token_code: val[1]),
|
|
1425
|
-
val[1].line
|
|
1426
|
-
)
|
|
1427
|
-
|
|
1472
|
+
result = val
|
|
1428
1473
|
result
|
|
1429
1474
|
end
|
|
1430
1475
|
.,.,
|
|
1431
1476
|
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
# reduce 34 omitted
|
|
1437
|
-
|
|
1438
|
-
module_eval(<<'.,.,', 'parser.y', 65)
|
|
1439
|
-
def _reduce_35(val, _values, result)
|
|
1440
|
-
@grammar.add_destructor(
|
|
1441
|
-
ident_or_tags: val[2].flatten,
|
|
1442
|
-
token_code: val[1],
|
|
1443
|
-
lineno: val[1].line
|
|
1444
|
-
)
|
|
1445
|
-
|
|
1477
|
+
module_eval(<<'.,.,', 'parser.y', 133)
|
|
1478
|
+
def _reduce_32(val, _values, result)
|
|
1479
|
+
result = val[1] ? val[1].unshift(val[0]) : val
|
|
1446
1480
|
result
|
|
1447
1481
|
end
|
|
1448
1482
|
.,.,
|
|
1449
1483
|
|
|
1450
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1451
|
-
def
|
|
1452
|
-
|
|
1453
|
-
ident_or_tags: val[2].flatten,
|
|
1454
|
-
token_code: val[1],
|
|
1455
|
-
lineno: val[1].line
|
|
1456
|
-
)
|
|
1457
|
-
|
|
1484
|
+
module_eval(<<'.,.,', 'parser.y', 133)
|
|
1485
|
+
def _reduce_33(val, _values, result)
|
|
1486
|
+
result = val[1] ? val[1].unshift(val[0]) : val
|
|
1458
1487
|
result
|
|
1459
1488
|
end
|
|
1460
1489
|
.,.,
|
|
1461
1490
|
|
|
1462
|
-
|
|
1491
|
+
# reduce 34 omitted
|
|
1492
|
+
|
|
1493
|
+
# reduce 35 omitted
|
|
1494
|
+
|
|
1495
|
+
# reduce 36 omitted
|
|
1496
|
+
|
|
1497
|
+
module_eval(<<'.,.,', 'parser.y', 82)
|
|
1463
1498
|
def _reduce_37(val, _values, result)
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
)
|
|
1499
|
+
@grammar.set_union(
|
|
1500
|
+
Grammar::Code::NoReferenceCode.new(type: :union, token_code: val[1]),
|
|
1501
|
+
val[1].line
|
|
1502
|
+
)
|
|
1469
1503
|
|
|
1470
1504
|
result
|
|
1471
1505
|
end
|
|
@@ -1473,665 +1507,762 @@ module_eval(<<'.,.,', 'parser.y', 81)
|
|
|
1473
1507
|
|
|
1474
1508
|
module_eval(<<'.,.,', 'parser.y', 89)
|
|
1475
1509
|
def _reduce_38(val, _values, result)
|
|
1476
|
-
|
|
1510
|
+
@grammar.add_destructor(
|
|
1511
|
+
ident_or_tags: val[2].flatten,
|
|
1512
|
+
token_code: val[1],
|
|
1513
|
+
lineno: val[1].line
|
|
1514
|
+
)
|
|
1477
1515
|
|
|
1478
1516
|
result
|
|
1479
1517
|
end
|
|
1480
1518
|
.,.,
|
|
1481
1519
|
|
|
1482
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1520
|
+
module_eval(<<'.,.,', 'parser.y', 97)
|
|
1483
1521
|
def _reduce_39(val, _values, result)
|
|
1484
|
-
|
|
1522
|
+
@grammar.add_printer(
|
|
1523
|
+
ident_or_tags: val[2].flatten,
|
|
1524
|
+
token_code: val[1],
|
|
1525
|
+
lineno: val[1].line
|
|
1526
|
+
)
|
|
1485
1527
|
|
|
1486
1528
|
result
|
|
1487
1529
|
end
|
|
1488
1530
|
.,.,
|
|
1489
1531
|
|
|
1490
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1532
|
+
module_eval(<<'.,.,', 'parser.y', 105)
|
|
1491
1533
|
def _reduce_40(val, _values, result)
|
|
1492
|
-
|
|
1534
|
+
@grammar.add_error_token(
|
|
1535
|
+
ident_or_tags: val[2].flatten,
|
|
1536
|
+
token_code: val[1],
|
|
1537
|
+
lineno: val[1].line
|
|
1538
|
+
)
|
|
1493
1539
|
|
|
1494
1540
|
result
|
|
1495
1541
|
end
|
|
1496
1542
|
.,.,
|
|
1497
1543
|
|
|
1498
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1544
|
+
module_eval(<<'.,.,', 'parser.y', 113)
|
|
1499
1545
|
def _reduce_41(val, _values, result)
|
|
1500
|
-
|
|
1546
|
+
@grammar.after_shift = val[1]
|
|
1501
1547
|
|
|
1502
1548
|
result
|
|
1503
1549
|
end
|
|
1504
1550
|
.,.,
|
|
1505
1551
|
|
|
1506
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1552
|
+
module_eval(<<'.,.,', 'parser.y', 117)
|
|
1507
1553
|
def _reduce_42(val, _values, result)
|
|
1508
|
-
|
|
1554
|
+
@grammar.before_reduce = val[1]
|
|
1509
1555
|
|
|
1510
1556
|
result
|
|
1511
1557
|
end
|
|
1512
1558
|
.,.,
|
|
1513
1559
|
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
def _reduce_44(val, _values, result)
|
|
1518
|
-
val[1].each {|hash|
|
|
1519
|
-
hash[:tokens].each {|id|
|
|
1520
|
-
@grammar.add_type(id: id, tag: hash[:tag])
|
|
1521
|
-
}
|
|
1522
|
-
}
|
|
1560
|
+
module_eval(<<'.,.,', 'parser.y', 121)
|
|
1561
|
+
def _reduce_43(val, _values, result)
|
|
1562
|
+
@grammar.after_reduce = val[1]
|
|
1523
1563
|
|
|
1524
1564
|
result
|
|
1525
1565
|
end
|
|
1526
1566
|
.,.,
|
|
1527
1567
|
|
|
1528
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1529
|
-
def
|
|
1530
|
-
|
|
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
|
-
}
|
|
1568
|
+
module_eval(<<'.,.,', 'parser.y', 125)
|
|
1569
|
+
def _reduce_44(val, _values, result)
|
|
1570
|
+
@grammar.after_shift_error_token = val[1]
|
|
1539
1571
|
|
|
1540
1572
|
result
|
|
1541
1573
|
end
|
|
1542
1574
|
.,.,
|
|
1543
1575
|
|
|
1544
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1545
|
-
def
|
|
1546
|
-
|
|
1547
|
-
hash[:tokens].each {|id|
|
|
1548
|
-
sym = @grammar.add_term(id: id)
|
|
1549
|
-
@grammar.add_left(sym, @precedence_number)
|
|
1550
|
-
}
|
|
1551
|
-
}
|
|
1552
|
-
@precedence_number += 1
|
|
1576
|
+
module_eval(<<'.,.,', 'parser.y', 129)
|
|
1577
|
+
def _reduce_45(val, _values, result)
|
|
1578
|
+
@grammar.after_pop_stack = val[1]
|
|
1553
1579
|
|
|
1554
1580
|
result
|
|
1555
1581
|
end
|
|
1556
1582
|
.,.,
|
|
1557
1583
|
|
|
1558
|
-
|
|
1584
|
+
# reduce 46 omitted
|
|
1585
|
+
|
|
1586
|
+
module_eval(<<'.,.,', 'parser.y', 136)
|
|
1559
1587
|
def _reduce_47(val, _values, result)
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
}
|
|
1566
|
-
@precedence_number += 1
|
|
1588
|
+
val[1].each {|hash|
|
|
1589
|
+
hash[:tokens].each {|id|
|
|
1590
|
+
@grammar.add_type(id: id, tag: hash[:tag])
|
|
1591
|
+
}
|
|
1592
|
+
}
|
|
1567
1593
|
|
|
1568
1594
|
result
|
|
1569
1595
|
end
|
|
1570
1596
|
.,.,
|
|
1571
1597
|
|
|
1572
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1598
|
+
module_eval(<<'.,.,', 'parser.y', 144)
|
|
1573
1599
|
def _reduce_48(val, _values, result)
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
|
|
1600
|
+
val[1].each {|hash|
|
|
1601
|
+
hash[:tokens].each {|id|
|
|
1602
|
+
if @grammar.find_term_by_s_value(id.s_value)
|
|
1603
|
+
on_action_error("symbol #{id.s_value} redeclared as a nonterminal", id)
|
|
1604
|
+
else
|
|
1605
|
+
@grammar.add_type(id: id, tag: hash[:tag])
|
|
1606
|
+
end
|
|
1607
|
+
}
|
|
1608
|
+
}
|
|
1581
1609
|
|
|
1582
1610
|
result
|
|
1583
1611
|
end
|
|
1584
1612
|
.,.,
|
|
1585
1613
|
|
|
1586
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1614
|
+
module_eval(<<'.,.,', 'parser.y', 156)
|
|
1587
1615
|
def _reduce_49(val, _values, result)
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1616
|
+
val[1].each {|hash|
|
|
1617
|
+
hash[:tokens].each {|id|
|
|
1618
|
+
sym = @grammar.add_term(id: id, tag: hash[:tag])
|
|
1619
|
+
@grammar.add_left(sym, @precedence_number, id.s_value, id.first_line)
|
|
1620
|
+
}
|
|
1621
|
+
}
|
|
1622
|
+
@precedence_number += 1
|
|
1623
|
+
|
|
1624
|
+
result
|
|
1625
|
+
end
|
|
1626
|
+
.,.,
|
|
1627
|
+
|
|
1628
|
+
module_eval(<<'.,.,', 'parser.y', 166)
|
|
1629
|
+
def _reduce_50(val, _values, result)
|
|
1630
|
+
val[1].each {|hash|
|
|
1631
|
+
hash[:tokens].each {|id|
|
|
1632
|
+
sym = @grammar.add_term(id: id, tag: hash[:tag])
|
|
1633
|
+
@grammar.add_right(sym, @precedence_number, id.s_value, id.first_line)
|
|
1634
|
+
}
|
|
1635
|
+
}
|
|
1636
|
+
@precedence_number += 1
|
|
1595
1637
|
|
|
1596
1638
|
result
|
|
1597
1639
|
end
|
|
1598
1640
|
.,.,
|
|
1599
1641
|
|
|
1600
|
-
|
|
1642
|
+
module_eval(<<'.,.,', 'parser.y', 176)
|
|
1643
|
+
def _reduce_51(val, _values, result)
|
|
1644
|
+
val[1].each {|hash|
|
|
1645
|
+
hash[:tokens].each {|id|
|
|
1646
|
+
sym = @grammar.add_term(id: id, tag: hash[:tag])
|
|
1647
|
+
@grammar.add_precedence(sym, @precedence_number, id.s_value, id.first_line)
|
|
1648
|
+
}
|
|
1649
|
+
}
|
|
1650
|
+
@precedence_number += 1
|
|
1601
1651
|
|
|
1602
|
-
|
|
1652
|
+
result
|
|
1653
|
+
end
|
|
1654
|
+
.,.,
|
|
1603
1655
|
|
|
1604
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1656
|
+
module_eval(<<'.,.,', 'parser.y', 186)
|
|
1605
1657
|
def _reduce_52(val, _values, result)
|
|
1606
|
-
|
|
1658
|
+
val[1].each {|hash|
|
|
1659
|
+
hash[:tokens].each {|id|
|
|
1660
|
+
sym = @grammar.add_term(id: id, tag: hash[:tag])
|
|
1661
|
+
@grammar.add_nonassoc(sym, @precedence_number, id.s_value, id.first_line)
|
|
1662
|
+
}
|
|
1663
|
+
}
|
|
1664
|
+
@precedence_number += 1
|
|
1665
|
+
|
|
1607
1666
|
result
|
|
1608
1667
|
end
|
|
1609
1668
|
.,.,
|
|
1610
1669
|
|
|
1611
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1670
|
+
module_eval(<<'.,.,', 'parser.y', 196)
|
|
1612
1671
|
def _reduce_53(val, _values, result)
|
|
1672
|
+
@grammar.set_start_nterm(val[1])
|
|
1673
|
+
|
|
1674
|
+
result
|
|
1675
|
+
end
|
|
1676
|
+
.,.,
|
|
1677
|
+
|
|
1678
|
+
# reduce 54 omitted
|
|
1679
|
+
|
|
1680
|
+
# reduce 55 omitted
|
|
1681
|
+
|
|
1682
|
+
module_eval(<<'.,.,', 'parser.y', 214)
|
|
1683
|
+
def _reduce_56(val, _values, result)
|
|
1684
|
+
result = val[1] ? val[1].unshift(val[0]) : val
|
|
1685
|
+
result
|
|
1686
|
+
end
|
|
1687
|
+
.,.,
|
|
1688
|
+
|
|
1689
|
+
module_eval(<<'.,.,', 'parser.y', 214)
|
|
1690
|
+
def _reduce_57(val, _values, result)
|
|
1613
1691
|
result = val[1] ? val[1].unshift(val[0]) : val
|
|
1614
1692
|
result
|
|
1615
1693
|
end
|
|
1616
1694
|
.,.,
|
|
1617
1695
|
|
|
1618
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1619
|
-
def
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1696
|
+
module_eval(<<'.,.,', 'parser.y', 202)
|
|
1697
|
+
def _reduce_58(val, _values, result)
|
|
1698
|
+
val[1].each {|token_declaration|
|
|
1699
|
+
@grammar.add_term(id: token_declaration[0], alias_name: token_declaration[2], token_id: token_declaration[1]&.s_value, tag: val[0], replace: true)
|
|
1700
|
+
}
|
|
1623
1701
|
|
|
1624
1702
|
result
|
|
1625
1703
|
end
|
|
1626
1704
|
.,.,
|
|
1627
1705
|
|
|
1628
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1629
|
-
def
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1706
|
+
module_eval(<<'.,.,', 'parser.y', 208)
|
|
1707
|
+
def _reduce_59(val, _values, result)
|
|
1708
|
+
val[2].each {|token_declaration|
|
|
1709
|
+
@grammar.add_term(id: token_declaration[0], alias_name: token_declaration[2], token_id: token_declaration[1]&.s_value, tag: val[1], replace: true)
|
|
1710
|
+
}
|
|
1633
1711
|
|
|
1634
1712
|
result
|
|
1635
1713
|
end
|
|
1636
1714
|
.,.,
|
|
1637
1715
|
|
|
1638
|
-
# reduce
|
|
1716
|
+
# reduce 60 omitted
|
|
1639
1717
|
|
|
1640
|
-
# reduce
|
|
1718
|
+
# reduce 61 omitted
|
|
1641
1719
|
|
|
1642
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1643
|
-
def
|
|
1720
|
+
module_eval(<<'.,.,', 'parser.y', 213)
|
|
1721
|
+
def _reduce_62(val, _values, result)
|
|
1644
1722
|
result = val
|
|
1645
1723
|
result
|
|
1646
1724
|
end
|
|
1647
1725
|
.,.,
|
|
1648
1726
|
|
|
1649
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1650
|
-
def
|
|
1651
|
-
|
|
1652
|
-
|
|
1727
|
+
module_eval(<<'.,.,', 'parser.y', 218)
|
|
1728
|
+
def _reduce_63(val, _values, result)
|
|
1729
|
+
rule = Grammar::Parameterized::Rule.new(val[1].s_value, val[3], val[7], tag: val[5])
|
|
1730
|
+
@grammar.add_parameterized_rule(rule)
|
|
1653
1731
|
|
|
1654
1732
|
result
|
|
1655
1733
|
end
|
|
1656
1734
|
.,.,
|
|
1657
1735
|
|
|
1658
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1659
|
-
def
|
|
1660
|
-
|
|
1661
|
-
|
|
1736
|
+
module_eval(<<'.,.,', 'parser.y', 225)
|
|
1737
|
+
def _reduce_64(val, _values, result)
|
|
1738
|
+
rule = Grammar::Parameterized::Rule.new(val[2].s_value, [], val[4], is_inline: true)
|
|
1739
|
+
@grammar.add_parameterized_rule(rule)
|
|
1662
1740
|
|
|
1663
1741
|
result
|
|
1664
1742
|
end
|
|
1665
1743
|
.,.,
|
|
1666
1744
|
|
|
1667
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1668
|
-
def
|
|
1669
|
-
|
|
1670
|
-
|
|
1745
|
+
module_eval(<<'.,.,', 'parser.y', 230)
|
|
1746
|
+
def _reduce_65(val, _values, result)
|
|
1747
|
+
rule = Grammar::Parameterized::Rule.new(val[2].s_value, val[4], val[7], is_inline: true)
|
|
1748
|
+
@grammar.add_parameterized_rule(rule)
|
|
1671
1749
|
|
|
1672
1750
|
result
|
|
1673
1751
|
end
|
|
1674
1752
|
.,.,
|
|
1675
1753
|
|
|
1676
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1677
|
-
def
|
|
1754
|
+
module_eval(<<'.,.,', 'parser.y', 235)
|
|
1755
|
+
def _reduce_66(val, _values, result)
|
|
1678
1756
|
result = [val[0]]
|
|
1679
1757
|
result
|
|
1680
1758
|
end
|
|
1681
1759
|
.,.,
|
|
1682
1760
|
|
|
1683
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1684
|
-
def
|
|
1761
|
+
module_eval(<<'.,.,', 'parser.y', 236)
|
|
1762
|
+
def _reduce_67(val, _values, result)
|
|
1685
1763
|
result = val[0].append(val[2])
|
|
1686
1764
|
result
|
|
1687
1765
|
end
|
|
1688
1766
|
.,.,
|
|
1689
1767
|
|
|
1690
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1691
|
-
def
|
|
1692
|
-
|
|
1693
|
-
|
|
1768
|
+
module_eval(<<'.,.,', 'parser.y', 241)
|
|
1769
|
+
def _reduce_68(val, _values, result)
|
|
1770
|
+
builder = val[0]
|
|
1771
|
+
result = [builder]
|
|
1694
1772
|
|
|
1695
1773
|
result
|
|
1696
1774
|
end
|
|
1697
1775
|
.,.,
|
|
1698
1776
|
|
|
1699
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1700
|
-
def
|
|
1701
|
-
|
|
1702
|
-
|
|
1777
|
+
module_eval(<<'.,.,', 'parser.y', 246)
|
|
1778
|
+
def _reduce_69(val, _values, result)
|
|
1779
|
+
builder = val[2]
|
|
1780
|
+
result = val[0].append(builder)
|
|
1703
1781
|
|
|
1704
1782
|
result
|
|
1705
1783
|
end
|
|
1706
1784
|
.,.,
|
|
1707
1785
|
|
|
1708
|
-
# reduce
|
|
1786
|
+
# reduce 70 omitted
|
|
1709
1787
|
|
|
1710
|
-
# reduce
|
|
1788
|
+
# reduce 71 omitted
|
|
1711
1789
|
|
|
1712
|
-
# reduce
|
|
1790
|
+
# reduce 72 omitted
|
|
1713
1791
|
|
|
1714
|
-
# reduce
|
|
1792
|
+
# reduce 73 omitted
|
|
1715
1793
|
|
|
1716
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1717
|
-
def
|
|
1718
|
-
|
|
1719
|
-
|
|
1794
|
+
module_eval(<<'.,.,', 'parser.y', 253)
|
|
1795
|
+
def _reduce_74(val, _values, result)
|
|
1796
|
+
reset_precs
|
|
1797
|
+
result = Grammar::Parameterized::Rhs.new
|
|
1720
1798
|
|
|
1721
1799
|
result
|
|
1722
1800
|
end
|
|
1723
1801
|
.,.,
|
|
1724
1802
|
|
|
1725
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1726
|
-
def
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1803
|
+
module_eval(<<'.,.,', 'parser.y', 258)
|
|
1804
|
+
def _reduce_75(val, _values, result)
|
|
1805
|
+
on_action_error("intermediate %prec in a rule", val[1]) if @trailing_prec_seen
|
|
1806
|
+
token = val[1]
|
|
1807
|
+
token.alias_name = val[2]
|
|
1808
|
+
builder = val[0]
|
|
1809
|
+
builder.symbols << token
|
|
1810
|
+
result = builder
|
|
1732
1811
|
|
|
1733
1812
|
result
|
|
1734
1813
|
end
|
|
1735
1814
|
.,.,
|
|
1736
1815
|
|
|
1737
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1738
|
-
def
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1816
|
+
module_eval(<<'.,.,', 'parser.y', 267)
|
|
1817
|
+
def _reduce_76(val, _values, result)
|
|
1818
|
+
on_action_error("intermediate %prec in a rule", val[1]) if @trailing_prec_seen
|
|
1819
|
+
builder = val[0]
|
|
1820
|
+
builder.symbols << Lrama::Lexer::Token::InstantiateRule.new(s_value: val[2], location: @lexer.location, args: [val[1]])
|
|
1821
|
+
result = builder
|
|
1742
1822
|
|
|
1743
1823
|
result
|
|
1744
1824
|
end
|
|
1745
1825
|
.,.,
|
|
1746
1826
|
|
|
1747
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1748
|
-
def
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1827
|
+
module_eval(<<'.,.,', 'parser.y', 274)
|
|
1828
|
+
def _reduce_77(val, _values, result)
|
|
1829
|
+
on_action_error("intermediate %prec in a rule", val[1]) if @trailing_prec_seen
|
|
1830
|
+
builder = val[0]
|
|
1831
|
+
builder.symbols << Lrama::Lexer::Token::InstantiateRule.new(s_value: val[1].s_value, location: @lexer.location, args: val[3], lhs_tag: val[5])
|
|
1832
|
+
result = builder
|
|
1752
1833
|
|
|
1753
1834
|
result
|
|
1754
1835
|
end
|
|
1755
1836
|
.,.,
|
|
1756
1837
|
|
|
1757
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1758
|
-
def
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
|
|
1838
|
+
module_eval(<<'.,.,', 'parser.y', 281)
|
|
1839
|
+
def _reduce_78(val, _values, result)
|
|
1840
|
+
user_code = val[1]
|
|
1841
|
+
user_code.alias_name = val[2]
|
|
1842
|
+
builder = val[0]
|
|
1843
|
+
builder.user_code = user_code
|
|
1844
|
+
result = builder
|
|
1764
1845
|
|
|
1765
1846
|
result
|
|
1766
1847
|
end
|
|
1767
1848
|
.,.,
|
|
1768
1849
|
|
|
1769
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1770
|
-
def
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1850
|
+
module_eval(<<'.,.,', 'parser.y', 289)
|
|
1851
|
+
def _reduce_79(val, _values, result)
|
|
1852
|
+
on_action_error("multiple %prec in a rule", val[0]) if prec_seen?
|
|
1853
|
+
sym = @grammar.find_symbol_by_id!(val[2])
|
|
1854
|
+
if val[0].rhs.empty?
|
|
1855
|
+
@opening_prec_seen = true
|
|
1856
|
+
else
|
|
1857
|
+
@trailing_prec_seen = true
|
|
1858
|
+
end
|
|
1859
|
+
builder = val[0]
|
|
1860
|
+
builder.precedence_sym = sym
|
|
1861
|
+
result = builder
|
|
1776
1862
|
|
|
1777
1863
|
result
|
|
1778
1864
|
end
|
|
1779
1865
|
.,.,
|
|
1780
1866
|
|
|
1781
|
-
# reduce
|
|
1867
|
+
# reduce 80 omitted
|
|
1782
1868
|
|
|
1783
|
-
# reduce
|
|
1869
|
+
# reduce 81 omitted
|
|
1784
1870
|
|
|
1785
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1786
|
-
def
|
|
1871
|
+
module_eval(<<'.,.,', 'parser.y', 301)
|
|
1872
|
+
def _reduce_82(val, _values, result)
|
|
1787
1873
|
result = val[0].s_value if val[0]
|
|
1788
1874
|
result
|
|
1789
1875
|
end
|
|
1790
1876
|
.,.,
|
|
1791
1877
|
|
|
1792
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1793
|
-
def
|
|
1878
|
+
module_eval(<<'.,.,', 'parser.y', 315)
|
|
1879
|
+
def _reduce_83(val, _values, result)
|
|
1794
1880
|
result = val[1] ? val[1].unshift(val[0]) : val
|
|
1795
1881
|
result
|
|
1796
1882
|
end
|
|
1797
1883
|
.,.,
|
|
1798
1884
|
|
|
1799
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1800
|
-
def
|
|
1885
|
+
module_eval(<<'.,.,', 'parser.y', 315)
|
|
1886
|
+
def _reduce_84(val, _values, result)
|
|
1801
1887
|
result = val[1] ? val[1].unshift(val[0]) : val
|
|
1802
1888
|
result
|
|
1803
1889
|
end
|
|
1804
1890
|
.,.,
|
|
1805
1891
|
|
|
1806
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1807
|
-
def
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1892
|
+
module_eval(<<'.,.,', 'parser.y', 306)
|
|
1893
|
+
def _reduce_85(val, _values, result)
|
|
1894
|
+
result = if val[0]
|
|
1895
|
+
[{tag: val[0], tokens: val[1]}]
|
|
1896
|
+
else
|
|
1897
|
+
[{tag: nil, tokens: val[1]}]
|
|
1898
|
+
end
|
|
1813
1899
|
|
|
1814
1900
|
result
|
|
1815
1901
|
end
|
|
1816
1902
|
.,.,
|
|
1817
1903
|
|
|
1818
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1819
|
-
def
|
|
1904
|
+
module_eval(<<'.,.,', 'parser.y', 312)
|
|
1905
|
+
def _reduce_86(val, _values, result)
|
|
1820
1906
|
result = val[0].append({tag: val[1], tokens: val[2]})
|
|
1821
1907
|
result
|
|
1822
1908
|
end
|
|
1823
1909
|
.,.,
|
|
1824
1910
|
|
|
1825
|
-
# reduce
|
|
1911
|
+
# reduce 87 omitted
|
|
1826
1912
|
|
|
1827
|
-
# reduce
|
|
1913
|
+
# reduce 88 omitted
|
|
1828
1914
|
|
|
1829
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1830
|
-
def
|
|
1831
|
-
|
|
1915
|
+
module_eval(<<'.,.,', 'parser.y', 321)
|
|
1916
|
+
def _reduce_89(val, _values, result)
|
|
1917
|
+
begin_c_declaration("}")
|
|
1832
1918
|
|
|
1833
1919
|
result
|
|
1834
1920
|
end
|
|
1835
1921
|
.,.,
|
|
1836
1922
|
|
|
1837
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1838
|
-
def
|
|
1839
|
-
|
|
1923
|
+
module_eval(<<'.,.,', 'parser.y', 325)
|
|
1924
|
+
def _reduce_90(val, _values, result)
|
|
1925
|
+
end_c_declaration
|
|
1840
1926
|
|
|
1841
1927
|
result
|
|
1842
1928
|
end
|
|
1843
1929
|
.,.,
|
|
1844
1930
|
|
|
1845
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1846
|
-
def
|
|
1847
|
-
|
|
1931
|
+
module_eval(<<'.,.,', 'parser.y', 329)
|
|
1932
|
+
def _reduce_91(val, _values, result)
|
|
1933
|
+
result = val[2]
|
|
1848
1934
|
|
|
1849
1935
|
result
|
|
1850
1936
|
end
|
|
1851
1937
|
.,.,
|
|
1852
1938
|
|
|
1853
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1854
|
-
def
|
|
1939
|
+
module_eval(<<'.,.,', 'parser.y', 338)
|
|
1940
|
+
def _reduce_92(val, _values, result)
|
|
1855
1941
|
result = val[1] ? val[1].unshift(val[0]) : val
|
|
1856
1942
|
result
|
|
1857
1943
|
end
|
|
1858
1944
|
.,.,
|
|
1859
1945
|
|
|
1860
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1861
|
-
def
|
|
1946
|
+
module_eval(<<'.,.,', 'parser.y', 338)
|
|
1947
|
+
def _reduce_93(val, _values, result)
|
|
1862
1948
|
result = val[1] ? val[1].unshift(val[0]) : val
|
|
1863
1949
|
result
|
|
1864
1950
|
end
|
|
1865
1951
|
.,.,
|
|
1866
1952
|
|
|
1867
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1868
|
-
def
|
|
1953
|
+
module_eval(<<'.,.,', 'parser.y', 338)
|
|
1954
|
+
def _reduce_94(val, _values, result)
|
|
1955
|
+
result = val
|
|
1956
|
+
result
|
|
1957
|
+
end
|
|
1958
|
+
.,.,
|
|
1959
|
+
|
|
1960
|
+
module_eval(<<'.,.,', 'parser.y', 338)
|
|
1961
|
+
def _reduce_95(val, _values, result)
|
|
1962
|
+
result = val[1] ? val[1].unshift(val[0]) : val
|
|
1963
|
+
result
|
|
1964
|
+
end
|
|
1965
|
+
.,.,
|
|
1966
|
+
|
|
1967
|
+
module_eval(<<'.,.,', 'parser.y', 338)
|
|
1968
|
+
def _reduce_96(val, _values, result)
|
|
1969
|
+
result = val[1] ? val[1].unshift(val[0]) : val
|
|
1970
|
+
result
|
|
1971
|
+
end
|
|
1972
|
+
.,.,
|
|
1973
|
+
|
|
1974
|
+
module_eval(<<'.,.,', 'parser.y', 333)
|
|
1975
|
+
def _reduce_97(val, _values, result)
|
|
1869
1976
|
result = [{tag: nil, tokens: val[0]}]
|
|
1870
1977
|
result
|
|
1871
1978
|
end
|
|
1872
1979
|
.,.,
|
|
1873
1980
|
|
|
1874
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1875
|
-
def
|
|
1876
|
-
result = [{tag:
|
|
1981
|
+
module_eval(<<'.,.,', 'parser.y', 334)
|
|
1982
|
+
def _reduce_98(val, _values, result)
|
|
1983
|
+
result = val[0].map {|tag, ids| {tag: tag, tokens: ids} }
|
|
1877
1984
|
result
|
|
1878
1985
|
end
|
|
1879
1986
|
.,.,
|
|
1880
1987
|
|
|
1881
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1882
|
-
def
|
|
1883
|
-
result = val[0]
|
|
1988
|
+
module_eval(<<'.,.,', 'parser.y', 335)
|
|
1989
|
+
def _reduce_99(val, _values, result)
|
|
1990
|
+
result = [{tag: nil, tokens: val[0]}, {tag: val[1], tokens: val[2]}]
|
|
1884
1991
|
result
|
|
1885
1992
|
end
|
|
1886
1993
|
.,.,
|
|
1887
1994
|
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1995
|
+
# reduce 100 omitted
|
|
1996
|
+
|
|
1997
|
+
# reduce 101 omitted
|
|
1998
|
+
|
|
1999
|
+
module_eval(<<'.,.,', 'parser.y', 346)
|
|
2000
|
+
def _reduce_102(val, _values, result)
|
|
2001
|
+
result = val[1] ? val[1].unshift(val[0]) : val
|
|
1891
2002
|
result
|
|
1892
2003
|
end
|
|
1893
2004
|
.,.,
|
|
1894
2005
|
|
|
1895
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1896
|
-
def
|
|
1897
|
-
|
|
2006
|
+
module_eval(<<'.,.,', 'parser.y', 346)
|
|
2007
|
+
def _reduce_103(val, _values, result)
|
|
2008
|
+
result = val[1] ? val[1].unshift(val[0]) : val
|
|
1898
2009
|
result
|
|
1899
2010
|
end
|
|
1900
2011
|
.,.,
|
|
1901
2012
|
|
|
1902
|
-
# reduce
|
|
2013
|
+
# reduce 104 omitted
|
|
1903
2014
|
|
|
1904
|
-
# reduce
|
|
2015
|
+
# reduce 105 omitted
|
|
1905
2016
|
|
|
1906
|
-
|
|
2017
|
+
module_eval(<<'.,.,', 'parser.y', 348)
|
|
2018
|
+
def _reduce_106(val, _values, result)
|
|
2019
|
+
lhs = val[0]
|
|
2020
|
+
lhs.alias_name = val[1]
|
|
2021
|
+
val[3].each do |builder|
|
|
2022
|
+
builder.lhs = lhs
|
|
2023
|
+
builder.complete_input
|
|
2024
|
+
@grammar.add_rule_builder(builder)
|
|
2025
|
+
end
|
|
1907
2026
|
|
|
1908
|
-
|
|
2027
|
+
result
|
|
2028
|
+
end
|
|
2029
|
+
.,.,
|
|
1909
2030
|
|
|
1910
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1911
|
-
def
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
2031
|
+
module_eval(<<'.,.,', 'parser.y', 360)
|
|
2032
|
+
def _reduce_107(val, _values, result)
|
|
2033
|
+
if val[0].rhs.count > 1
|
|
2034
|
+
empties = val[0].rhs.select { |sym| sym.is_a?(Lrama::Lexer::Token::Empty) }
|
|
2035
|
+
empties.each do |empty|
|
|
2036
|
+
on_action_error("%empty on non-empty rule", empty)
|
|
2037
|
+
end
|
|
2038
|
+
end
|
|
2039
|
+
builder = val[0]
|
|
2040
|
+
if !builder.line
|
|
2041
|
+
builder.line = @lexer.line - 1
|
|
2042
|
+
end
|
|
2043
|
+
result = [builder]
|
|
1919
2044
|
|
|
1920
2045
|
result
|
|
1921
2046
|
end
|
|
1922
2047
|
.,.,
|
|
1923
2048
|
|
|
1924
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1925
|
-
def
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
2049
|
+
module_eval(<<'.,.,', 'parser.y', 374)
|
|
2050
|
+
def _reduce_108(val, _values, result)
|
|
2051
|
+
builder = val[2]
|
|
2052
|
+
if !builder.line
|
|
2053
|
+
builder.line = @lexer.line - 1
|
|
2054
|
+
end
|
|
2055
|
+
result = val[0].append(builder)
|
|
1931
2056
|
|
|
1932
2057
|
result
|
|
1933
2058
|
end
|
|
1934
2059
|
.,.,
|
|
1935
2060
|
|
|
1936
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1937
|
-
def
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
builder.line = @lexer.line - 1
|
|
1941
|
-
end
|
|
1942
|
-
result = val[0].append(builder)
|
|
2061
|
+
module_eval(<<'.,.,', 'parser.y', 384)
|
|
2062
|
+
def _reduce_109(val, _values, result)
|
|
2063
|
+
reset_precs
|
|
2064
|
+
result = @grammar.create_rule_builder(@rule_counter, @midrule_action_counter)
|
|
1943
2065
|
|
|
1944
2066
|
result
|
|
1945
2067
|
end
|
|
1946
2068
|
.,.,
|
|
1947
2069
|
|
|
1948
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1949
|
-
def
|
|
1950
|
-
|
|
1951
|
-
|
|
2070
|
+
module_eval(<<'.,.,', 'parser.y', 389)
|
|
2071
|
+
def _reduce_110(val, _values, result)
|
|
2072
|
+
builder = val[0]
|
|
2073
|
+
builder.add_rhs(Lrama::Lexer::Token::Empty.new(location: @lexer.location))
|
|
2074
|
+
result = builder
|
|
1952
2075
|
|
|
1953
2076
|
result
|
|
1954
2077
|
end
|
|
1955
2078
|
.,.,
|
|
1956
2079
|
|
|
1957
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1958
|
-
def
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
|
|
1962
|
-
|
|
1963
|
-
|
|
2080
|
+
module_eval(<<'.,.,', 'parser.y', 395)
|
|
2081
|
+
def _reduce_111(val, _values, result)
|
|
2082
|
+
on_action_error("intermediate %prec in a rule", val[1]) if @trailing_prec_seen
|
|
2083
|
+
token = val[1]
|
|
2084
|
+
token.alias_name = val[2]
|
|
2085
|
+
builder = val[0]
|
|
2086
|
+
builder.add_rhs(token)
|
|
2087
|
+
result = builder
|
|
1964
2088
|
|
|
1965
2089
|
result
|
|
1966
2090
|
end
|
|
1967
2091
|
.,.,
|
|
1968
2092
|
|
|
1969
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1970
|
-
def
|
|
1971
|
-
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
|
|
1975
|
-
|
|
2093
|
+
module_eval(<<'.,.,', 'parser.y', 404)
|
|
2094
|
+
def _reduce_112(val, _values, result)
|
|
2095
|
+
on_action_error("intermediate %prec in a rule", val[1]) if @trailing_prec_seen
|
|
2096
|
+
token = Lrama::Lexer::Token::InstantiateRule.new(s_value: val[2], alias_name: val[3], location: @lexer.location, args: [val[1]], lhs_tag: val[4])
|
|
2097
|
+
builder = val[0]
|
|
2098
|
+
builder.add_rhs(token)
|
|
2099
|
+
builder.line = val[1].first_line
|
|
2100
|
+
result = builder
|
|
1976
2101
|
|
|
1977
2102
|
result
|
|
1978
2103
|
end
|
|
1979
2104
|
.,.,
|
|
1980
2105
|
|
|
1981
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1982
|
-
def
|
|
1983
|
-
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
|
|
1987
|
-
|
|
2106
|
+
module_eval(<<'.,.,', 'parser.y', 413)
|
|
2107
|
+
def _reduce_113(val, _values, result)
|
|
2108
|
+
on_action_error("intermediate %prec in a rule", val[1]) if @trailing_prec_seen
|
|
2109
|
+
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])
|
|
2110
|
+
builder = val[0]
|
|
2111
|
+
builder.add_rhs(token)
|
|
2112
|
+
builder.line = val[1].first_line
|
|
2113
|
+
result = builder
|
|
1988
2114
|
|
|
1989
2115
|
result
|
|
1990
2116
|
end
|
|
1991
2117
|
.,.,
|
|
1992
2118
|
|
|
1993
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1994
|
-
def
|
|
1995
|
-
|
|
1996
|
-
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
2119
|
+
module_eval(<<'.,.,', 'parser.y', 422)
|
|
2120
|
+
def _reduce_114(val, _values, result)
|
|
2121
|
+
user_code = val[1]
|
|
2122
|
+
user_code.alias_name = val[2]
|
|
2123
|
+
user_code.tag = val[3]
|
|
2124
|
+
builder = val[0]
|
|
2125
|
+
builder.user_code = user_code
|
|
2126
|
+
result = builder
|
|
2001
2127
|
|
|
2002
2128
|
result
|
|
2003
2129
|
end
|
|
2004
2130
|
.,.,
|
|
2005
2131
|
|
|
2006
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
2007
|
-
def
|
|
2008
|
-
|
|
2009
|
-
|
|
2010
|
-
|
|
2011
|
-
|
|
2012
|
-
|
|
2132
|
+
module_eval(<<'.,.,', 'parser.y', 431)
|
|
2133
|
+
def _reduce_115(val, _values, result)
|
|
2134
|
+
on_action_error("multiple %prec in a rule", val[0]) if prec_seen?
|
|
2135
|
+
sym = @grammar.find_symbol_by_id!(val[2])
|
|
2136
|
+
if val[0].rhs.empty?
|
|
2137
|
+
@opening_prec_seen = true
|
|
2138
|
+
else
|
|
2139
|
+
@trailing_prec_seen = true
|
|
2140
|
+
end
|
|
2141
|
+
builder = val[0]
|
|
2142
|
+
builder.precedence_sym = sym
|
|
2143
|
+
result = builder
|
|
2013
2144
|
|
|
2014
2145
|
result
|
|
2015
2146
|
end
|
|
2016
2147
|
.,.,
|
|
2017
2148
|
|
|
2018
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
2019
|
-
def
|
|
2149
|
+
module_eval(<<'.,.,', 'parser.y', 444)
|
|
2150
|
+
def _reduce_116(val, _values, result)
|
|
2020
2151
|
result = "option"
|
|
2021
2152
|
result
|
|
2022
2153
|
end
|
|
2023
2154
|
.,.,
|
|
2024
2155
|
|
|
2025
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
2026
|
-
def
|
|
2156
|
+
module_eval(<<'.,.,', 'parser.y', 445)
|
|
2157
|
+
def _reduce_117(val, _values, result)
|
|
2027
2158
|
result = "nonempty_list"
|
|
2028
2159
|
result
|
|
2029
2160
|
end
|
|
2030
2161
|
.,.,
|
|
2031
2162
|
|
|
2032
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
2033
|
-
def
|
|
2163
|
+
module_eval(<<'.,.,', 'parser.y', 446)
|
|
2164
|
+
def _reduce_118(val, _values, result)
|
|
2034
2165
|
result = "list"
|
|
2035
2166
|
result
|
|
2036
2167
|
end
|
|
2037
2168
|
.,.,
|
|
2038
2169
|
|
|
2039
|
-
# reduce
|
|
2170
|
+
# reduce 119 omitted
|
|
2040
2171
|
|
|
2041
|
-
# reduce
|
|
2172
|
+
# reduce 120 omitted
|
|
2042
2173
|
|
|
2043
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
2044
|
-
def
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
|
|
2174
|
+
module_eval(<<'.,.,', 'parser.y', 451)
|
|
2175
|
+
def _reduce_121(val, _values, result)
|
|
2176
|
+
result = if val[1]
|
|
2177
|
+
[Lrama::Lexer::Token::InstantiateRule.new(s_value: val[1].s_value, location: @lexer.location, args: val[0])]
|
|
2178
|
+
else
|
|
2179
|
+
[val[0]]
|
|
2180
|
+
end
|
|
2050
2181
|
|
|
2051
2182
|
result
|
|
2052
2183
|
end
|
|
2053
2184
|
.,.,
|
|
2054
2185
|
|
|
2055
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
2056
|
-
def
|
|
2186
|
+
module_eval(<<'.,.,', 'parser.y', 457)
|
|
2187
|
+
def _reduce_122(val, _values, result)
|
|
2057
2188
|
result = val[0].append(val[2])
|
|
2058
2189
|
result
|
|
2059
2190
|
end
|
|
2060
2191
|
.,.,
|
|
2061
2192
|
|
|
2062
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
2063
|
-
def
|
|
2193
|
+
module_eval(<<'.,.,', 'parser.y', 458)
|
|
2194
|
+
def _reduce_123(val, _values, result)
|
|
2064
2195
|
result = [Lrama::Lexer::Token::InstantiateRule.new(s_value: val[0].s_value, location: @lexer.location, args: val[2])]
|
|
2065
2196
|
result
|
|
2066
2197
|
end
|
|
2067
2198
|
.,.,
|
|
2068
2199
|
|
|
2069
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
2070
|
-
def
|
|
2071
|
-
|
|
2072
|
-
|
|
2073
|
-
|
|
2074
|
-
|
|
2075
|
-
|
|
2200
|
+
module_eval(<<'.,.,', 'parser.y', 463)
|
|
2201
|
+
def _reduce_124(val, _values, result)
|
|
2202
|
+
if prec_seen?
|
|
2203
|
+
on_action_error("multiple User_code after %prec", val[0]) if @code_after_prec
|
|
2204
|
+
@code_after_prec = true
|
|
2205
|
+
end
|
|
2206
|
+
begin_c_declaration("}")
|
|
2076
2207
|
|
|
2077
2208
|
result
|
|
2078
2209
|
end
|
|
2079
2210
|
.,.,
|
|
2080
2211
|
|
|
2081
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
2082
|
-
def
|
|
2083
|
-
|
|
2212
|
+
module_eval(<<'.,.,', 'parser.y', 471)
|
|
2213
|
+
def _reduce_125(val, _values, result)
|
|
2214
|
+
end_c_declaration
|
|
2084
2215
|
|
|
2085
2216
|
result
|
|
2086
2217
|
end
|
|
2087
2218
|
.,.,
|
|
2088
2219
|
|
|
2089
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
2090
|
-
def
|
|
2091
|
-
|
|
2220
|
+
module_eval(<<'.,.,', 'parser.y', 475)
|
|
2221
|
+
def _reduce_126(val, _values, result)
|
|
2222
|
+
result = val[2]
|
|
2092
2223
|
|
|
2093
2224
|
result
|
|
2094
2225
|
end
|
|
2095
2226
|
.,.,
|
|
2096
2227
|
|
|
2097
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
2098
|
-
def
|
|
2228
|
+
module_eval(<<'.,.,', 'parser.y', 478)
|
|
2229
|
+
def _reduce_127(val, _values, result)
|
|
2099
2230
|
result = val[1].s_value
|
|
2100
2231
|
result
|
|
2101
2232
|
end
|
|
2102
2233
|
.,.,
|
|
2103
2234
|
|
|
2104
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
2105
|
-
def
|
|
2106
|
-
|
|
2107
|
-
@grammar.epilogue_first_lineno = @lexer.line + 1
|
|
2235
|
+
module_eval(<<'.,.,', 'parser.y', 483)
|
|
2236
|
+
def _reduce_128(val, _values, result)
|
|
2237
|
+
begin_c_declaration('\Z')
|
|
2108
2238
|
|
|
2109
2239
|
result
|
|
2110
2240
|
end
|
|
2111
2241
|
.,.,
|
|
2112
2242
|
|
|
2113
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
2114
|
-
def
|
|
2115
|
-
|
|
2116
|
-
|
|
2243
|
+
module_eval(<<'.,.,', 'parser.y', 487)
|
|
2244
|
+
def _reduce_129(val, _values, result)
|
|
2245
|
+
end_c_declaration
|
|
2246
|
+
@grammar.epilogue_first_lineno = val[0].first_line + 1
|
|
2247
|
+
@grammar.epilogue = val[2].s_value
|
|
2117
2248
|
|
|
2118
2249
|
result
|
|
2119
2250
|
end
|
|
2120
2251
|
.,.,
|
|
2121
2252
|
|
|
2122
|
-
# reduce
|
|
2253
|
+
# reduce 130 omitted
|
|
2123
2254
|
|
|
2124
|
-
# reduce
|
|
2255
|
+
# reduce 131 omitted
|
|
2125
2256
|
|
|
2126
|
-
# reduce
|
|
2257
|
+
# reduce 132 omitted
|
|
2127
2258
|
|
|
2128
|
-
# reduce
|
|
2259
|
+
# reduce 133 omitted
|
|
2129
2260
|
|
|
2130
|
-
# reduce
|
|
2261
|
+
# reduce 134 omitted
|
|
2131
2262
|
|
|
2132
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
2133
|
-
def
|
|
2134
|
-
result = Lrama::Lexer::Token::Ident.new(s_value: val[0])
|
|
2263
|
+
module_eval(<<'.,.,', 'parser.y', 499)
|
|
2264
|
+
def _reduce_135(val, _values, result)
|
|
2265
|
+
result = Lrama::Lexer::Token::Ident.new(s_value: val[0].s_value)
|
|
2135
2266
|
result
|
|
2136
2267
|
end
|
|
2137
2268
|
.,.,
|