lrama 0.6.11 → 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 +45 -0
- data/.github/workflows/test.yaml +57 -18
- data/.gitignore +1 -0
- data/.rdoc_options +2 -0
- data/Gemfile +6 -3
- data/NEWS.md +427 -32
- data/README.md +43 -95
- data/Rakefile +14 -1
- data/Steepfile +12 -4
- data/doc/Index.md +58 -0
- 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 +19 -3
- data/lib/lrama/command.rb +96 -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 +52 -1
- data/lib/lrama/erb.rb +29 -0
- data/lib/lrama/grammar/auxiliary.rb +6 -1
- data/lib/lrama/grammar/binding.rb +60 -16
- 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 +69 -1
- data/lib/lrama/grammar/rule_builder.rb +84 -81
- 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 +236 -35
- data/lib/lrama/lexer/grammar_file.rb +8 -1
- data/lib/lrama/lexer/location.rb +42 -9
- data/lib/lrama/lexer/token/base.rb +73 -0
- data/lib/lrama/lexer/token/char.rb +16 -2
- data/lib/lrama/lexer/token/empty.rb +14 -0
- data/lib/lrama/lexer/token/ident.rb +3 -2
- data/lib/lrama/lexer/token/instantiate_rule.rb +8 -3
- 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 +5 -3
- data/lib/lrama/lexer/token/token.rb +11 -0
- data/lib/lrama/lexer/token/user_code.rb +68 -38
- data/lib/lrama/lexer/token.rb +7 -45
- data/lib/lrama/lexer.rb +55 -28
- data/lib/lrama/logger.rb +16 -2
- data/lib/lrama/option_parser.rb +71 -15
- data/lib/lrama/options.rb +26 -7
- data/lib/lrama/output.rb +4 -11
- data/lib/lrama/parser.rb +858 -721
- 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 +40 -3
- 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 +416 -28
- data/lib/lrama/states.rb +483 -144
- 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/lrama.gemspec +1 -1
- data/parser.y +496 -404
- data/rbs_collection.lock.yaml +27 -3
- data/rbs_collection.yaml +2 -0
- data/sig/generated/lrama/bitmap.rbs +19 -0
- 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 +59 -0
- data/sig/generated/lrama/erb.rbs +14 -0
- data/sig/generated/lrama/grammar/auxiliary.rbs +16 -0
- data/sig/generated/lrama/grammar/binding.rbs +40 -0
- 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/grammar_file.rbs +28 -0
- data/sig/generated/lrama/lexer/location.rbs +61 -0
- data/sig/generated/lrama/lexer/token/base.rbs +53 -0
- data/sig/generated/lrama/lexer/token/char.rbs +17 -0
- data/sig/generated/lrama/lexer/token/empty.rbs +11 -0
- data/sig/generated/lrama/lexer/token/ident.rbs +10 -0
- data/sig/generated/lrama/lexer/token/instantiate_rule.rbs +22 -0
- 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 +12 -0
- data/sig/generated/lrama/lexer/token/token.rbs +10 -0
- data/sig/{lrama → generated/lrama}/lexer/token/user_code.rbs +8 -3
- data/sig/generated/lrama/lexer/token.rbs +8 -0
- data/sig/generated/lrama/lexer.rbs +54 -0
- data/sig/generated/lrama/logger.rbs +20 -0
- data/sig/generated/lrama/option_parser.rbs +52 -0
- data/sig/{lrama → generated/lrama}/options.rbs +27 -2
- 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 +142 -77
- 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 -30
- data/sig/lrama/bitmap.rbs +0 -7
- 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/digraph.rbs +0 -23
- data/sig/lrama/grammar/auxiliary.rbs +0 -10
- data/sig/lrama/grammar/binding.rbs +0 -19
- 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 -48
- 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/lexer/grammar_file.rbs +0 -17
- data/sig/lrama/lexer/location.rbs +0 -26
- data/sig/lrama/lexer/token/char.rbs +0 -8
- data/sig/lrama/lexer/token/ident.rbs +0 -8
- data/sig/lrama/lexer/token/instantiate_rule.rbs +0 -14
- data/sig/lrama/lexer/token/tag.rbs +0 -9
- data/sig/lrama/lexer/token.rbs +0 -23
- 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,21 +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)
|
|
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
|
|
669
|
+
@define = define
|
|
666
670
|
end
|
|
667
671
|
|
|
668
672
|
def parse
|
|
669
|
-
|
|
673
|
+
message = "parse '#{File.basename(@path)}'"
|
|
674
|
+
report_duration(message) do
|
|
670
675
|
@lexer = Lrama::Lexer.new(@grammar_file)
|
|
671
|
-
@grammar = Lrama::Grammar.new(@rule_counter)
|
|
676
|
+
@grammar = Lrama::Grammar.new(@rule_counter, @locations, @define)
|
|
672
677
|
@precedence_number = 0
|
|
673
678
|
reset_precs
|
|
674
679
|
do_parse
|
|
@@ -681,7 +686,14 @@ def next_token
|
|
|
681
686
|
end
|
|
682
687
|
|
|
683
688
|
def on_error(error_token_id, error_value, value_stack)
|
|
684
|
-
|
|
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
|
|
685
697
|
location = error_value.location
|
|
686
698
|
value = "'#{error_value.s_value}'"
|
|
687
699
|
else
|
|
@@ -695,7 +707,7 @@ def on_error(error_token_id, error_value, value_stack)
|
|
|
695
707
|
end
|
|
696
708
|
|
|
697
709
|
def on_action_error(error_message, error_value)
|
|
698
|
-
if error_value.is_a?(Lrama::Lexer::Token)
|
|
710
|
+
if error_value.is_a?(Lrama::Lexer::Token::Base)
|
|
699
711
|
location = error_value.location
|
|
700
712
|
else
|
|
701
713
|
location = @lexer.location
|
|
@@ -707,10 +719,15 @@ end
|
|
|
707
719
|
private
|
|
708
720
|
|
|
709
721
|
def reset_precs
|
|
710
|
-
@
|
|
722
|
+
@opening_prec_seen = false
|
|
723
|
+
@trailing_prec_seen = false
|
|
711
724
|
@code_after_prec = false
|
|
712
725
|
end
|
|
713
726
|
|
|
727
|
+
def prec_seen?
|
|
728
|
+
@opening_prec_seen || @trailing_prec_seen
|
|
729
|
+
end
|
|
730
|
+
|
|
714
731
|
def begin_c_declaration(end_symbol)
|
|
715
732
|
@lexer.status = :c_declaration
|
|
716
733
|
@lexer.end_symbol = end_symbol
|
|
@@ -728,306 +745,322 @@ end
|
|
|
728
745
|
##### State transition tables begin ###
|
|
729
746
|
|
|
730
747
|
racc_action_table = [
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
28, 29, 30, 31,
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
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 ]
|
|
760
778
|
|
|
761
779
|
racc_action_check = [
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
3, 3,
|
|
774
|
-
3, 3,
|
|
775
|
-
3,
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
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 ]
|
|
791
810
|
|
|
792
811
|
racc_action_pointer = [
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
nil,
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
nil, nil, nil, nil,
|
|
804
|
-
nil,
|
|
805
|
-
nil, nil, nil,
|
|
806
|
-
nil, nil, nil,
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
nil, nil,
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
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 ]
|
|
815
836
|
|
|
816
837
|
racc_action_default = [
|
|
817
|
-
-1, -
|
|
818
|
-
-
|
|
819
|
-
|
|
820
|
-
-
|
|
821
|
-
-
|
|
822
|
-
-
|
|
823
|
-
-
|
|
824
|
-
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
-
|
|
832
|
-
-
|
|
833
|
-
|
|
834
|
-
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
-
|
|
838
|
-
|
|
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 ]
|
|
839
862
|
|
|
840
863
|
racc_goto_table = [
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
nil,
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
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,
|
|
855
879
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
|
856
880
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
|
857
|
-
nil,
|
|
858
|
-
|
|
859
|
-
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 ]
|
|
860
884
|
|
|
861
885
|
racc_goto_check = [
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
nil,
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
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,
|
|
876
901
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
|
877
902
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
|
878
|
-
nil,
|
|
879
|
-
|
|
880
|
-
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 ]
|
|
881
906
|
|
|
882
907
|
racc_goto_pointer = [
|
|
883
|
-
nil,
|
|
884
|
-
|
|
885
|
-
-
|
|
886
|
-
-
|
|
887
|
-
-
|
|
888
|
-
-
|
|
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 ]
|
|
889
914
|
|
|
890
915
|
racc_goto_default = [
|
|
891
|
-
nil, nil, 2, 8,
|
|
892
|
-
nil, nil, 10, nil, nil,
|
|
893
|
-
|
|
894
|
-
nil, nil, nil, nil,
|
|
895
|
-
nil,
|
|
896
|
-
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 ]
|
|
897
922
|
|
|
898
923
|
racc_reduce_table = [
|
|
899
924
|
0, 0, :racc_error,
|
|
900
|
-
0,
|
|
901
|
-
2,
|
|
902
|
-
0,
|
|
903
|
-
2,
|
|
904
|
-
1,
|
|
905
|
-
2,
|
|
906
|
-
0,
|
|
907
|
-
1,
|
|
908
|
-
5,
|
|
909
|
-
0,
|
|
910
|
-
0,
|
|
911
|
-
5,
|
|
912
|
-
2,
|
|
913
|
-
|
|
914
|
-
2,
|
|
915
|
-
1, 60, :_reduce_none,
|
|
916
|
-
2, 60, :_reduce_17,
|
|
917
|
-
3, 60, :_reduce_none,
|
|
918
|
-
2, 60, :_reduce_none,
|
|
919
|
-
2, 60, :_reduce_20,
|
|
920
|
-
2, 60, :_reduce_21,
|
|
921
|
-
3, 60, :_reduce_22,
|
|
922
|
-
2, 60, :_reduce_23,
|
|
923
|
-
1, 60, :_reduce_24,
|
|
924
|
-
1, 60, :_reduce_25,
|
|
925
|
-
2, 60, :_reduce_none,
|
|
926
|
-
1, 78, :_reduce_27,
|
|
927
|
-
1, 78, :_reduce_28,
|
|
928
|
-
1, 79, :_reduce_29,
|
|
929
|
-
2, 79, :_reduce_30,
|
|
930
|
-
2, 69, :_reduce_31,
|
|
931
|
-
1, 69, :_reduce_none,
|
|
932
|
-
1, 69, :_reduce_none,
|
|
933
|
-
1, 69, :_reduce_none,
|
|
934
|
-
3, 69, :_reduce_35,
|
|
935
|
-
3, 69, :_reduce_36,
|
|
936
|
-
3, 69, :_reduce_37,
|
|
937
|
-
2, 69, :_reduce_38,
|
|
938
|
-
2, 69, :_reduce_39,
|
|
939
|
-
2, 69, :_reduce_40,
|
|
940
|
-
2, 69, :_reduce_41,
|
|
941
|
-
2, 69, :_reduce_42,
|
|
942
|
-
2, 74, :_reduce_none,
|
|
943
|
-
2, 74, :_reduce_44,
|
|
944
|
-
2, 74, :_reduce_45,
|
|
945
|
-
2, 74, :_reduce_46,
|
|
946
|
-
2, 74, :_reduce_47,
|
|
947
|
-
2, 74, :_reduce_48,
|
|
948
|
-
2, 74, :_reduce_49,
|
|
949
|
-
0, 84, :_reduce_none,
|
|
950
|
-
1, 84, :_reduce_none,
|
|
951
|
-
1, 85, :_reduce_52,
|
|
952
|
-
2, 85, :_reduce_53,
|
|
953
|
-
2, 80, :_reduce_54,
|
|
954
|
-
3, 80, :_reduce_55,
|
|
955
|
-
0, 88, :_reduce_none,
|
|
956
|
-
1, 88, :_reduce_none,
|
|
957
|
-
3, 83, :_reduce_58,
|
|
958
|
-
8, 75, :_reduce_59,
|
|
959
|
-
5, 76, :_reduce_60,
|
|
960
|
-
8, 76, :_reduce_61,
|
|
961
|
-
1, 89, :_reduce_62,
|
|
962
|
-
3, 89, :_reduce_63,
|
|
963
|
-
1, 90, :_reduce_64,
|
|
964
|
-
3, 90, :_reduce_65,
|
|
965
|
-
0, 96, :_reduce_none,
|
|
966
|
-
1, 96, :_reduce_none,
|
|
967
|
-
0, 97, :_reduce_none,
|
|
968
|
-
1, 97, :_reduce_none,
|
|
969
|
-
1, 91, :_reduce_70,
|
|
970
|
-
3, 91, :_reduce_71,
|
|
971
|
-
3, 91, :_reduce_72,
|
|
972
|
-
6, 91, :_reduce_73,
|
|
973
|
-
3, 91, :_reduce_74,
|
|
974
|
-
3, 91, :_reduce_75,
|
|
975
|
-
0, 99, :_reduce_none,
|
|
976
|
-
1, 99, :_reduce_none,
|
|
977
|
-
1, 87, :_reduce_78,
|
|
978
|
-
1, 100, :_reduce_79,
|
|
979
|
-
2, 100, :_reduce_80,
|
|
980
|
-
2, 81, :_reduce_81,
|
|
981
|
-
3, 81, :_reduce_82,
|
|
982
|
-
1, 77, :_reduce_none,
|
|
983
|
-
1, 77, :_reduce_none,
|
|
984
|
-
0, 101, :_reduce_85,
|
|
985
|
-
0, 102, :_reduce_86,
|
|
986
|
-
5, 72, :_reduce_87,
|
|
987
|
-
1, 103, :_reduce_88,
|
|
988
|
-
2, 103, :_reduce_89,
|
|
989
|
-
1, 82, :_reduce_90,
|
|
990
|
-
2, 82, :_reduce_91,
|
|
991
|
-
3, 82, :_reduce_92,
|
|
992
|
-
1, 86, :_reduce_93,
|
|
993
|
-
1, 86, :_reduce_94,
|
|
994
|
-
0, 105, :_reduce_none,
|
|
995
|
-
1, 105, :_reduce_none,
|
|
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,
|
|
996
940
|
2, 61, :_reduce_none,
|
|
997
941
|
2, 61, :_reduce_none,
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
3,
|
|
1007
|
-
|
|
1008
|
-
1,
|
|
1009
|
-
1,
|
|
1010
|
-
|
|
1011
|
-
1,
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
4, 94, :_reduce_115,
|
|
1015
|
-
0, 109, :_reduce_116,
|
|
1016
|
-
0, 110, :_reduce_117,
|
|
1017
|
-
5, 95, :_reduce_118,
|
|
1018
|
-
3, 92, :_reduce_119,
|
|
1019
|
-
0, 111, :_reduce_120,
|
|
1020
|
-
3, 62, :_reduce_121,
|
|
1021
|
-
1, 70, :_reduce_none,
|
|
1022
|
-
0, 71, :_reduce_none,
|
|
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,
|
|
1023
958
|
1, 71, :_reduce_none,
|
|
1024
959
|
1, 71, :_reduce_none,
|
|
1025
960
|
1, 71, :_reduce_none,
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
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
|
|
1031
1064
|
|
|
1032
1065
|
racc_token_table = {
|
|
1033
1066
|
false => 0,
|
|
@@ -1043,52 +1076,53 @@ racc_token_table = {
|
|
|
1043
1076
|
"%{" => 10,
|
|
1044
1077
|
"%}" => 11,
|
|
1045
1078
|
"%require" => 12,
|
|
1046
|
-
"
|
|
1047
|
-
"%
|
|
1048
|
-
"%
|
|
1049
|
-
"
|
|
1050
|
-
"
|
|
1051
|
-
"%
|
|
1052
|
-
"%
|
|
1053
|
-
"%
|
|
1054
|
-
"%
|
|
1055
|
-
"
|
|
1056
|
-
"%
|
|
1057
|
-
"%
|
|
1058
|
-
"%
|
|
1059
|
-
"%
|
|
1060
|
-
"%
|
|
1061
|
-
"%
|
|
1062
|
-
"%after-
|
|
1063
|
-
"%
|
|
1064
|
-
"%after-
|
|
1065
|
-
"-
|
|
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
|
-
|
|
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
|
|
1092
1126
|
|
|
1093
1127
|
racc_use_result_var = true
|
|
1094
1128
|
|
|
@@ -1123,8 +1157,11 @@ Racc_token_to_s_table = [
|
|
|
1123
1157
|
"\"%{\"",
|
|
1124
1158
|
"\"%}\"",
|
|
1125
1159
|
"\"%require\"",
|
|
1160
|
+
"\";\"",
|
|
1126
1161
|
"\"%expect\"",
|
|
1127
1162
|
"\"%define\"",
|
|
1163
|
+
"\"{\"",
|
|
1164
|
+
"\"}\"",
|
|
1128
1165
|
"\"%param\"",
|
|
1129
1166
|
"\"%lex-param\"",
|
|
1130
1167
|
"\"%parse-param\"",
|
|
@@ -1132,7 +1169,6 @@ Racc_token_to_s_table = [
|
|
|
1132
1169
|
"\"%initial-action\"",
|
|
1133
1170
|
"\"%no-stdlib\"",
|
|
1134
1171
|
"\"%locations\"",
|
|
1135
|
-
"\";\"",
|
|
1136
1172
|
"\"%union\"",
|
|
1137
1173
|
"\"%destructor\"",
|
|
1138
1174
|
"\"%printer\"",
|
|
@@ -1150,6 +1186,7 @@ Racc_token_to_s_table = [
|
|
|
1150
1186
|
"\"%right\"",
|
|
1151
1187
|
"\"%precedence\"",
|
|
1152
1188
|
"\"%nonassoc\"",
|
|
1189
|
+
"\"%start\"",
|
|
1153
1190
|
"\"%rule\"",
|
|
1154
1191
|
"\"(\"",
|
|
1155
1192
|
"\")\"",
|
|
@@ -1159,8 +1196,6 @@ Racc_token_to_s_table = [
|
|
|
1159
1196
|
"\"|\"",
|
|
1160
1197
|
"\"%empty\"",
|
|
1161
1198
|
"\"%prec\"",
|
|
1162
|
-
"\"{\"",
|
|
1163
|
-
"\"}\"",
|
|
1164
1199
|
"\"?\"",
|
|
1165
1200
|
"\"+\"",
|
|
1166
1201
|
"\"*\"",
|
|
@@ -1179,7 +1214,9 @@ Racc_token_to_s_table = [
|
|
|
1179
1214
|
"\"-option@epilogue_declaration\"",
|
|
1180
1215
|
"@1",
|
|
1181
1216
|
"@2",
|
|
1217
|
+
"parser_option",
|
|
1182
1218
|
"grammar_declaration",
|
|
1219
|
+
"\"-many@;\"",
|
|
1183
1220
|
"variable",
|
|
1184
1221
|
"value",
|
|
1185
1222
|
"param",
|
|
@@ -1203,9 +1240,9 @@ Racc_token_to_s_table = [
|
|
|
1203
1240
|
"rule_rhs_list",
|
|
1204
1241
|
"rule_rhs",
|
|
1205
1242
|
"named_ref",
|
|
1206
|
-
"
|
|
1207
|
-
"
|
|
1208
|
-
"
|
|
1243
|
+
"parameterized_suffix",
|
|
1244
|
+
"parameterized_args",
|
|
1245
|
+
"action",
|
|
1209
1246
|
"\"-option@%empty\"",
|
|
1210
1247
|
"\"-option@named_ref\"",
|
|
1211
1248
|
"string_as_id",
|
|
@@ -1214,11 +1251,13 @@ Racc_token_to_s_table = [
|
|
|
1214
1251
|
"@3",
|
|
1215
1252
|
"@4",
|
|
1216
1253
|
"\"-many1@id\"",
|
|
1254
|
+
"\"-group@TAG-\\\"-many1@id\\\"\"",
|
|
1255
|
+
"\"-many1@-group@TAG-\\\"-many1@id\\\"\"",
|
|
1217
1256
|
"rules",
|
|
1218
|
-
"\"-
|
|
1257
|
+
"\"-many1@;\"",
|
|
1219
1258
|
"rhs_list",
|
|
1220
1259
|
"rhs",
|
|
1221
|
-
"\"-option@
|
|
1260
|
+
"\"-option@parameterized_suffix\"",
|
|
1222
1261
|
"@5",
|
|
1223
1262
|
"@6",
|
|
1224
1263
|
"@7" ]
|
|
@@ -1278,10 +1317,9 @@ module_eval(<<'.,.,', 'parser.y', 11)
|
|
|
1278
1317
|
|
|
1279
1318
|
# reduce 9 omitted
|
|
1280
1319
|
|
|
1281
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1320
|
+
module_eval(<<'.,.,', 'parser.y', 13)
|
|
1282
1321
|
def _reduce_10(val, _values, result)
|
|
1283
|
-
|
|
1284
|
-
@grammar.prologue_first_lineno = @lexer.line
|
|
1322
|
+
begin_c_declaration("%}")
|
|
1285
1323
|
|
|
1286
1324
|
result
|
|
1287
1325
|
end
|
|
@@ -1289,7 +1327,7 @@ module_eval(<<'.,.,', 'parser.y', 12)
|
|
|
1289
1327
|
|
|
1290
1328
|
module_eval(<<'.,.,', 'parser.y', 17)
|
|
1291
1329
|
def _reduce_11(val, _values, result)
|
|
1292
|
-
|
|
1330
|
+
end_c_declaration
|
|
1293
1331
|
|
|
1294
1332
|
result
|
|
1295
1333
|
end
|
|
@@ -1297,22 +1335,29 @@ module_eval(<<'.,.,', 'parser.y', 17)
|
|
|
1297
1335
|
|
|
1298
1336
|
module_eval(<<'.,.,', 'parser.y', 21)
|
|
1299
1337
|
def _reduce_12(val, _values, result)
|
|
1300
|
-
|
|
1338
|
+
@grammar.prologue_first_lineno = val[0].first_line
|
|
1339
|
+
@grammar.prologue = val[2].s_value
|
|
1301
1340
|
|
|
1302
1341
|
result
|
|
1303
1342
|
end
|
|
1304
1343
|
.,.,
|
|
1305
1344
|
|
|
1306
|
-
|
|
1345
|
+
module_eval(<<'.,.,', 'parser.y', 26)
|
|
1346
|
+
def _reduce_13(val, _values, result)
|
|
1347
|
+
@grammar.required = true
|
|
1307
1348
|
|
|
1308
|
-
|
|
1349
|
+
result
|
|
1350
|
+
end
|
|
1351
|
+
.,.,
|
|
1352
|
+
|
|
1353
|
+
module_eval(<<'.,.,', 'parser.y', 34)
|
|
1309
1354
|
def _reduce_14(val, _values, result)
|
|
1310
1355
|
result = val[1] ? val[1].unshift(val[0]) : val
|
|
1311
1356
|
result
|
|
1312
1357
|
end
|
|
1313
1358
|
.,.,
|
|
1314
1359
|
|
|
1315
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1360
|
+
module_eval(<<'.,.,', 'parser.y', 34)
|
|
1316
1361
|
def _reduce_15(val, _values, result)
|
|
1317
1362
|
result = val[1] ? val[1].unshift(val[0]) : val
|
|
1318
1363
|
result
|
|
@@ -1321,145 +1366,140 @@ module_eval(<<'.,.,', 'parser.y', 54)
|
|
|
1321
1366
|
|
|
1322
1367
|
# reduce 16 omitted
|
|
1323
1368
|
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
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
|
|
1327
1374
|
result
|
|
1328
1375
|
end
|
|
1329
1376
|
.,.,
|
|
1330
1377
|
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1378
|
+
module_eval(<<'.,.,', 'parser.y', 77)
|
|
1379
|
+
def _reduce_19(val, _values, result)
|
|
1380
|
+
result = val[1] ? val[1].unshift(val[0]) : val
|
|
1381
|
+
result
|
|
1382
|
+
end
|
|
1383
|
+
.,.,
|
|
1334
1384
|
|
|
1335
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1385
|
+
module_eval(<<'.,.,', 'parser.y', 36)
|
|
1336
1386
|
def _reduce_20(val, _values, result)
|
|
1337
|
-
|
|
1338
|
-
@grammar.lex_param = Grammar::Code::NoReferenceCode.new(type: :lex_param, token_code: token).token_code.s_value
|
|
1339
|
-
}
|
|
1387
|
+
@grammar.expect = val[1].s_value
|
|
1340
1388
|
|
|
1341
1389
|
result
|
|
1342
1390
|
end
|
|
1343
1391
|
.,.,
|
|
1344
1392
|
|
|
1345
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1393
|
+
module_eval(<<'.,.,', 'parser.y', 40)
|
|
1346
1394
|
def _reduce_21(val, _values, result)
|
|
1347
|
-
|
|
1348
|
-
@grammar.parse_param = Grammar::Code::NoReferenceCode.new(type: :parse_param, token_code: token).token_code.s_value
|
|
1349
|
-
}
|
|
1395
|
+
@grammar.define[val[1].s_value] = val[2]&.s_value
|
|
1350
1396
|
|
|
1351
1397
|
result
|
|
1352
1398
|
end
|
|
1353
1399
|
.,.,
|
|
1354
1400
|
|
|
1355
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1401
|
+
module_eval(<<'.,.,', 'parser.y', 44)
|
|
1356
1402
|
def _reduce_22(val, _values, result)
|
|
1357
|
-
|
|
1403
|
+
@grammar.define[val[1].s_value] = val[3]&.s_value
|
|
1358
1404
|
|
|
1359
1405
|
result
|
|
1360
1406
|
end
|
|
1361
1407
|
.,.,
|
|
1362
1408
|
|
|
1363
|
-
|
|
1364
|
-
def _reduce_23(val, _values, result)
|
|
1365
|
-
@grammar.initial_action = Grammar::Code::InitialActionCode.new(type: :initial_action, token_code: val[1])
|
|
1366
|
-
|
|
1367
|
-
result
|
|
1368
|
-
end
|
|
1369
|
-
.,.,
|
|
1409
|
+
# reduce 23 omitted
|
|
1370
1410
|
|
|
1371
1411
|
module_eval(<<'.,.,', 'parser.y', 49)
|
|
1372
1412
|
def _reduce_24(val, _values, result)
|
|
1373
|
-
|
|
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
|
+
|
|
1374
1417
|
result
|
|
1375
1418
|
end
|
|
1376
1419
|
.,.,
|
|
1377
1420
|
|
|
1378
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1421
|
+
module_eval(<<'.,.,', 'parser.y', 55)
|
|
1379
1422
|
def _reduce_25(val, _values, result)
|
|
1380
|
-
|
|
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
|
+
|
|
1381
1427
|
result
|
|
1382
1428
|
end
|
|
1383
1429
|
.,.,
|
|
1384
1430
|
|
|
1385
|
-
|
|
1431
|
+
module_eval(<<'.,.,', 'parser.y', 61)
|
|
1432
|
+
def _reduce_26(val, _values, result)
|
|
1433
|
+
@grammar.add_percent_code(id: val[1], code: val[2])
|
|
1386
1434
|
|
|
1387
|
-
|
|
1435
|
+
result
|
|
1436
|
+
end
|
|
1437
|
+
.,.,
|
|
1438
|
+
|
|
1439
|
+
module_eval(<<'.,.,', 'parser.y', 65)
|
|
1388
1440
|
def _reduce_27(val, _values, result)
|
|
1389
|
-
|
|
1441
|
+
@grammar.initial_action = Grammar::Code::InitialActionCode.new(type: :initial_action, token_code: val[1])
|
|
1442
|
+
|
|
1390
1443
|
result
|
|
1391
1444
|
end
|
|
1392
1445
|
.,.,
|
|
1393
1446
|
|
|
1394
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1447
|
+
module_eval(<<'.,.,', 'parser.y', 69)
|
|
1395
1448
|
def _reduce_28(val, _values, result)
|
|
1396
|
-
|
|
1449
|
+
@grammar.no_stdlib = true
|
|
1450
|
+
|
|
1397
1451
|
result
|
|
1398
1452
|
end
|
|
1399
1453
|
.,.,
|
|
1400
1454
|
|
|
1401
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1455
|
+
module_eval(<<'.,.,', 'parser.y', 73)
|
|
1402
1456
|
def _reduce_29(val, _values, result)
|
|
1403
|
-
|
|
1457
|
+
@grammar.locations = true
|
|
1458
|
+
|
|
1404
1459
|
result
|
|
1405
1460
|
end
|
|
1406
1461
|
.,.,
|
|
1407
1462
|
|
|
1408
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1463
|
+
module_eval(<<'.,.,', 'parser.y', 133)
|
|
1409
1464
|
def _reduce_30(val, _values, result)
|
|
1410
|
-
result = val
|
|
1465
|
+
result = val
|
|
1411
1466
|
result
|
|
1412
1467
|
end
|
|
1413
1468
|
.,.,
|
|
1414
1469
|
|
|
1415
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1470
|
+
module_eval(<<'.,.,', 'parser.y', 133)
|
|
1416
1471
|
def _reduce_31(val, _values, result)
|
|
1417
|
-
|
|
1418
|
-
Grammar::Code::NoReferenceCode.new(type: :union, token_code: val[1]),
|
|
1419
|
-
val[1].line
|
|
1420
|
-
)
|
|
1421
|
-
|
|
1472
|
+
result = val
|
|
1422
1473
|
result
|
|
1423
1474
|
end
|
|
1424
1475
|
.,.,
|
|
1425
1476
|
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
# reduce 34 omitted
|
|
1431
|
-
|
|
1432
|
-
module_eval(<<'.,.,', 'parser.y', 65)
|
|
1433
|
-
def _reduce_35(val, _values, result)
|
|
1434
|
-
@grammar.add_destructor(
|
|
1435
|
-
ident_or_tags: val[2].flatten,
|
|
1436
|
-
token_code: val[1],
|
|
1437
|
-
lineno: val[1].line
|
|
1438
|
-
)
|
|
1439
|
-
|
|
1477
|
+
module_eval(<<'.,.,', 'parser.y', 133)
|
|
1478
|
+
def _reduce_32(val, _values, result)
|
|
1479
|
+
result = val[1] ? val[1].unshift(val[0]) : val
|
|
1440
1480
|
result
|
|
1441
1481
|
end
|
|
1442
1482
|
.,.,
|
|
1443
1483
|
|
|
1444
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1445
|
-
def
|
|
1446
|
-
|
|
1447
|
-
ident_or_tags: val[2].flatten,
|
|
1448
|
-
token_code: val[1],
|
|
1449
|
-
lineno: val[1].line
|
|
1450
|
-
)
|
|
1451
|
-
|
|
1484
|
+
module_eval(<<'.,.,', 'parser.y', 133)
|
|
1485
|
+
def _reduce_33(val, _values, result)
|
|
1486
|
+
result = val[1] ? val[1].unshift(val[0]) : val
|
|
1452
1487
|
result
|
|
1453
1488
|
end
|
|
1454
1489
|
.,.,
|
|
1455
1490
|
|
|
1456
|
-
|
|
1491
|
+
# reduce 34 omitted
|
|
1492
|
+
|
|
1493
|
+
# reduce 35 omitted
|
|
1494
|
+
|
|
1495
|
+
# reduce 36 omitted
|
|
1496
|
+
|
|
1497
|
+
module_eval(<<'.,.,', 'parser.y', 82)
|
|
1457
1498
|
def _reduce_37(val, _values, result)
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
)
|
|
1499
|
+
@grammar.set_union(
|
|
1500
|
+
Grammar::Code::NoReferenceCode.new(type: :union, token_code: val[1]),
|
|
1501
|
+
val[1].line
|
|
1502
|
+
)
|
|
1463
1503
|
|
|
1464
1504
|
result
|
|
1465
1505
|
end
|
|
@@ -1467,665 +1507,762 @@ module_eval(<<'.,.,', 'parser.y', 81)
|
|
|
1467
1507
|
|
|
1468
1508
|
module_eval(<<'.,.,', 'parser.y', 89)
|
|
1469
1509
|
def _reduce_38(val, _values, result)
|
|
1470
|
-
|
|
1510
|
+
@grammar.add_destructor(
|
|
1511
|
+
ident_or_tags: val[2].flatten,
|
|
1512
|
+
token_code: val[1],
|
|
1513
|
+
lineno: val[1].line
|
|
1514
|
+
)
|
|
1471
1515
|
|
|
1472
1516
|
result
|
|
1473
1517
|
end
|
|
1474
1518
|
.,.,
|
|
1475
1519
|
|
|
1476
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1520
|
+
module_eval(<<'.,.,', 'parser.y', 97)
|
|
1477
1521
|
def _reduce_39(val, _values, result)
|
|
1478
|
-
|
|
1522
|
+
@grammar.add_printer(
|
|
1523
|
+
ident_or_tags: val[2].flatten,
|
|
1524
|
+
token_code: val[1],
|
|
1525
|
+
lineno: val[1].line
|
|
1526
|
+
)
|
|
1479
1527
|
|
|
1480
1528
|
result
|
|
1481
1529
|
end
|
|
1482
1530
|
.,.,
|
|
1483
1531
|
|
|
1484
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1532
|
+
module_eval(<<'.,.,', 'parser.y', 105)
|
|
1485
1533
|
def _reduce_40(val, _values, result)
|
|
1486
|
-
|
|
1534
|
+
@grammar.add_error_token(
|
|
1535
|
+
ident_or_tags: val[2].flatten,
|
|
1536
|
+
token_code: val[1],
|
|
1537
|
+
lineno: val[1].line
|
|
1538
|
+
)
|
|
1487
1539
|
|
|
1488
1540
|
result
|
|
1489
1541
|
end
|
|
1490
1542
|
.,.,
|
|
1491
1543
|
|
|
1492
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1544
|
+
module_eval(<<'.,.,', 'parser.y', 113)
|
|
1493
1545
|
def _reduce_41(val, _values, result)
|
|
1494
|
-
|
|
1546
|
+
@grammar.after_shift = val[1]
|
|
1495
1547
|
|
|
1496
1548
|
result
|
|
1497
1549
|
end
|
|
1498
1550
|
.,.,
|
|
1499
1551
|
|
|
1500
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1552
|
+
module_eval(<<'.,.,', 'parser.y', 117)
|
|
1501
1553
|
def _reduce_42(val, _values, result)
|
|
1502
|
-
|
|
1554
|
+
@grammar.before_reduce = val[1]
|
|
1503
1555
|
|
|
1504
1556
|
result
|
|
1505
1557
|
end
|
|
1506
1558
|
.,.,
|
|
1507
1559
|
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
def _reduce_44(val, _values, result)
|
|
1512
|
-
val[1].each {|hash|
|
|
1513
|
-
hash[:tokens].each {|id|
|
|
1514
|
-
@grammar.add_type(id: id, tag: hash[:tag])
|
|
1515
|
-
}
|
|
1516
|
-
}
|
|
1560
|
+
module_eval(<<'.,.,', 'parser.y', 121)
|
|
1561
|
+
def _reduce_43(val, _values, result)
|
|
1562
|
+
@grammar.after_reduce = val[1]
|
|
1517
1563
|
|
|
1518
1564
|
result
|
|
1519
1565
|
end
|
|
1520
1566
|
.,.,
|
|
1521
1567
|
|
|
1522
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1523
|
-
def
|
|
1524
|
-
|
|
1525
|
-
hash[:tokens].each {|id|
|
|
1526
|
-
if @grammar.find_term_by_s_value(id.s_value)
|
|
1527
|
-
on_action_error("symbol #{id.s_value} redeclared as a nonterminal", id)
|
|
1528
|
-
else
|
|
1529
|
-
@grammar.add_type(id: id, tag: hash[:tag])
|
|
1530
|
-
end
|
|
1531
|
-
}
|
|
1532
|
-
}
|
|
1568
|
+
module_eval(<<'.,.,', 'parser.y', 125)
|
|
1569
|
+
def _reduce_44(val, _values, result)
|
|
1570
|
+
@grammar.after_shift_error_token = val[1]
|
|
1533
1571
|
|
|
1534
1572
|
result
|
|
1535
1573
|
end
|
|
1536
1574
|
.,.,
|
|
1537
1575
|
|
|
1538
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1539
|
-
def
|
|
1540
|
-
|
|
1541
|
-
hash[:tokens].each {|id|
|
|
1542
|
-
sym = @grammar.add_term(id: id)
|
|
1543
|
-
@grammar.add_left(sym, @precedence_number)
|
|
1544
|
-
}
|
|
1545
|
-
}
|
|
1546
|
-
@precedence_number += 1
|
|
1576
|
+
module_eval(<<'.,.,', 'parser.y', 129)
|
|
1577
|
+
def _reduce_45(val, _values, result)
|
|
1578
|
+
@grammar.after_pop_stack = val[1]
|
|
1547
1579
|
|
|
1548
1580
|
result
|
|
1549
1581
|
end
|
|
1550
1582
|
.,.,
|
|
1551
1583
|
|
|
1552
|
-
|
|
1584
|
+
# reduce 46 omitted
|
|
1585
|
+
|
|
1586
|
+
module_eval(<<'.,.,', 'parser.y', 136)
|
|
1553
1587
|
def _reduce_47(val, _values, result)
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
}
|
|
1560
|
-
@precedence_number += 1
|
|
1588
|
+
val[1].each {|hash|
|
|
1589
|
+
hash[:tokens].each {|id|
|
|
1590
|
+
@grammar.add_type(id: id, tag: hash[:tag])
|
|
1591
|
+
}
|
|
1592
|
+
}
|
|
1561
1593
|
|
|
1562
1594
|
result
|
|
1563
1595
|
end
|
|
1564
1596
|
.,.,
|
|
1565
1597
|
|
|
1566
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1598
|
+
module_eval(<<'.,.,', 'parser.y', 144)
|
|
1567
1599
|
def _reduce_48(val, _values, result)
|
|
1568
|
-
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
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
|
+
}
|
|
1575
1609
|
|
|
1576
1610
|
result
|
|
1577
1611
|
end
|
|
1578
1612
|
.,.,
|
|
1579
1613
|
|
|
1580
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1614
|
+
module_eval(<<'.,.,', 'parser.y', 156)
|
|
1581
1615
|
def _reduce_49(val, _values, result)
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
|
|
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
|
|
1589
1623
|
|
|
1590
1624
|
result
|
|
1591
1625
|
end
|
|
1592
1626
|
.,.,
|
|
1593
1627
|
|
|
1594
|
-
|
|
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
|
|
1639
|
+
end
|
|
1640
|
+
.,.,
|
|
1641
|
+
|
|
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
|
|
1651
|
+
|
|
1652
|
+
result
|
|
1653
|
+
end
|
|
1654
|
+
.,.,
|
|
1597
1655
|
|
|
1598
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1656
|
+
module_eval(<<'.,.,', 'parser.y', 186)
|
|
1599
1657
|
def _reduce_52(val, _values, result)
|
|
1600
|
-
|
|
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
|
+
|
|
1601
1666
|
result
|
|
1602
1667
|
end
|
|
1603
1668
|
.,.,
|
|
1604
1669
|
|
|
1605
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1670
|
+
module_eval(<<'.,.,', 'parser.y', 196)
|
|
1606
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)
|
|
1607
1691
|
result = val[1] ? val[1].unshift(val[0]) : val
|
|
1608
1692
|
result
|
|
1609
1693
|
end
|
|
1610
1694
|
.,.,
|
|
1611
1695
|
|
|
1612
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1613
|
-
def
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
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
|
+
}
|
|
1617
1701
|
|
|
1618
1702
|
result
|
|
1619
1703
|
end
|
|
1620
1704
|
.,.,
|
|
1621
1705
|
|
|
1622
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1623
|
-
def
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
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
|
+
}
|
|
1627
1711
|
|
|
1628
1712
|
result
|
|
1629
1713
|
end
|
|
1630
1714
|
.,.,
|
|
1631
1715
|
|
|
1632
|
-
# reduce
|
|
1716
|
+
# reduce 60 omitted
|
|
1633
1717
|
|
|
1634
|
-
# reduce
|
|
1718
|
+
# reduce 61 omitted
|
|
1635
1719
|
|
|
1636
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1637
|
-
def
|
|
1720
|
+
module_eval(<<'.,.,', 'parser.y', 213)
|
|
1721
|
+
def _reduce_62(val, _values, result)
|
|
1638
1722
|
result = val
|
|
1639
1723
|
result
|
|
1640
1724
|
end
|
|
1641
1725
|
.,.,
|
|
1642
1726
|
|
|
1643
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1644
|
-
def
|
|
1645
|
-
|
|
1646
|
-
|
|
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)
|
|
1647
1731
|
|
|
1648
1732
|
result
|
|
1649
1733
|
end
|
|
1650
1734
|
.,.,
|
|
1651
1735
|
|
|
1652
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1653
|
-
def
|
|
1654
|
-
|
|
1655
|
-
|
|
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)
|
|
1656
1740
|
|
|
1657
1741
|
result
|
|
1658
1742
|
end
|
|
1659
1743
|
.,.,
|
|
1660
1744
|
|
|
1661
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1662
|
-
def
|
|
1663
|
-
|
|
1664
|
-
|
|
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)
|
|
1665
1749
|
|
|
1666
1750
|
result
|
|
1667
1751
|
end
|
|
1668
1752
|
.,.,
|
|
1669
1753
|
|
|
1670
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1671
|
-
def
|
|
1754
|
+
module_eval(<<'.,.,', 'parser.y', 235)
|
|
1755
|
+
def _reduce_66(val, _values, result)
|
|
1672
1756
|
result = [val[0]]
|
|
1673
1757
|
result
|
|
1674
1758
|
end
|
|
1675
1759
|
.,.,
|
|
1676
1760
|
|
|
1677
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1678
|
-
def
|
|
1761
|
+
module_eval(<<'.,.,', 'parser.y', 236)
|
|
1762
|
+
def _reduce_67(val, _values, result)
|
|
1679
1763
|
result = val[0].append(val[2])
|
|
1680
1764
|
result
|
|
1681
1765
|
end
|
|
1682
1766
|
.,.,
|
|
1683
1767
|
|
|
1684
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1685
|
-
def
|
|
1686
|
-
|
|
1687
|
-
|
|
1768
|
+
module_eval(<<'.,.,', 'parser.y', 241)
|
|
1769
|
+
def _reduce_68(val, _values, result)
|
|
1770
|
+
builder = val[0]
|
|
1771
|
+
result = [builder]
|
|
1688
1772
|
|
|
1689
1773
|
result
|
|
1690
1774
|
end
|
|
1691
1775
|
.,.,
|
|
1692
1776
|
|
|
1693
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1694
|
-
def
|
|
1695
|
-
|
|
1696
|
-
|
|
1777
|
+
module_eval(<<'.,.,', 'parser.y', 246)
|
|
1778
|
+
def _reduce_69(val, _values, result)
|
|
1779
|
+
builder = val[2]
|
|
1780
|
+
result = val[0].append(builder)
|
|
1697
1781
|
|
|
1698
1782
|
result
|
|
1699
1783
|
end
|
|
1700
1784
|
.,.,
|
|
1701
1785
|
|
|
1702
|
-
# reduce
|
|
1786
|
+
# reduce 70 omitted
|
|
1703
1787
|
|
|
1704
|
-
# reduce
|
|
1788
|
+
# reduce 71 omitted
|
|
1705
1789
|
|
|
1706
|
-
# reduce
|
|
1790
|
+
# reduce 72 omitted
|
|
1707
1791
|
|
|
1708
|
-
# reduce
|
|
1792
|
+
# reduce 73 omitted
|
|
1709
1793
|
|
|
1710
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1711
|
-
def
|
|
1712
|
-
|
|
1713
|
-
|
|
1794
|
+
module_eval(<<'.,.,', 'parser.y', 253)
|
|
1795
|
+
def _reduce_74(val, _values, result)
|
|
1796
|
+
reset_precs
|
|
1797
|
+
result = Grammar::Parameterized::Rhs.new
|
|
1714
1798
|
|
|
1715
1799
|
result
|
|
1716
1800
|
end
|
|
1717
1801
|
.,.,
|
|
1718
1802
|
|
|
1719
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1720
|
-
def
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
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
|
|
1726
1811
|
|
|
1727
1812
|
result
|
|
1728
1813
|
end
|
|
1729
1814
|
.,.,
|
|
1730
1815
|
|
|
1731
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1732
|
-
def
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
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
|
|
1736
1822
|
|
|
1737
1823
|
result
|
|
1738
1824
|
end
|
|
1739
1825
|
.,.,
|
|
1740
1826
|
|
|
1741
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1742
|
-
def
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
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
|
|
1746
1833
|
|
|
1747
1834
|
result
|
|
1748
1835
|
end
|
|
1749
1836
|
.,.,
|
|
1750
1837
|
|
|
1751
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1752
|
-
def
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
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
|
|
1758
1845
|
|
|
1759
1846
|
result
|
|
1760
1847
|
end
|
|
1761
1848
|
.,.,
|
|
1762
1849
|
|
|
1763
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1764
|
-
def
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
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
|
|
1770
1862
|
|
|
1771
1863
|
result
|
|
1772
1864
|
end
|
|
1773
1865
|
.,.,
|
|
1774
1866
|
|
|
1775
|
-
# reduce
|
|
1867
|
+
# reduce 80 omitted
|
|
1776
1868
|
|
|
1777
|
-
# reduce
|
|
1869
|
+
# reduce 81 omitted
|
|
1778
1870
|
|
|
1779
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1780
|
-
def
|
|
1871
|
+
module_eval(<<'.,.,', 'parser.y', 301)
|
|
1872
|
+
def _reduce_82(val, _values, result)
|
|
1781
1873
|
result = val[0].s_value if val[0]
|
|
1782
1874
|
result
|
|
1783
1875
|
end
|
|
1784
1876
|
.,.,
|
|
1785
1877
|
|
|
1786
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1787
|
-
def
|
|
1878
|
+
module_eval(<<'.,.,', 'parser.y', 315)
|
|
1879
|
+
def _reduce_83(val, _values, result)
|
|
1788
1880
|
result = val[1] ? val[1].unshift(val[0]) : val
|
|
1789
1881
|
result
|
|
1790
1882
|
end
|
|
1791
1883
|
.,.,
|
|
1792
1884
|
|
|
1793
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1794
|
-
def
|
|
1885
|
+
module_eval(<<'.,.,', 'parser.y', 315)
|
|
1886
|
+
def _reduce_84(val, _values, result)
|
|
1795
1887
|
result = val[1] ? val[1].unshift(val[0]) : val
|
|
1796
1888
|
result
|
|
1797
1889
|
end
|
|
1798
1890
|
.,.,
|
|
1799
1891
|
|
|
1800
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1801
|
-
def
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
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
|
|
1807
1899
|
|
|
1808
1900
|
result
|
|
1809
1901
|
end
|
|
1810
1902
|
.,.,
|
|
1811
1903
|
|
|
1812
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1813
|
-
def
|
|
1904
|
+
module_eval(<<'.,.,', 'parser.y', 312)
|
|
1905
|
+
def _reduce_86(val, _values, result)
|
|
1814
1906
|
result = val[0].append({tag: val[1], tokens: val[2]})
|
|
1815
1907
|
result
|
|
1816
1908
|
end
|
|
1817
1909
|
.,.,
|
|
1818
1910
|
|
|
1819
|
-
# reduce
|
|
1911
|
+
# reduce 87 omitted
|
|
1820
1912
|
|
|
1821
|
-
# reduce
|
|
1913
|
+
# reduce 88 omitted
|
|
1822
1914
|
|
|
1823
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1824
|
-
def
|
|
1825
|
-
|
|
1915
|
+
module_eval(<<'.,.,', 'parser.y', 321)
|
|
1916
|
+
def _reduce_89(val, _values, result)
|
|
1917
|
+
begin_c_declaration("}")
|
|
1826
1918
|
|
|
1827
1919
|
result
|
|
1828
1920
|
end
|
|
1829
1921
|
.,.,
|
|
1830
1922
|
|
|
1831
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1832
|
-
def
|
|
1833
|
-
|
|
1923
|
+
module_eval(<<'.,.,', 'parser.y', 325)
|
|
1924
|
+
def _reduce_90(val, _values, result)
|
|
1925
|
+
end_c_declaration
|
|
1834
1926
|
|
|
1835
1927
|
result
|
|
1836
1928
|
end
|
|
1837
1929
|
.,.,
|
|
1838
1930
|
|
|
1839
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1840
|
-
def
|
|
1841
|
-
|
|
1931
|
+
module_eval(<<'.,.,', 'parser.y', 329)
|
|
1932
|
+
def _reduce_91(val, _values, result)
|
|
1933
|
+
result = val[2]
|
|
1842
1934
|
|
|
1843
1935
|
result
|
|
1844
1936
|
end
|
|
1845
1937
|
.,.,
|
|
1846
1938
|
|
|
1847
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1848
|
-
def
|
|
1939
|
+
module_eval(<<'.,.,', 'parser.y', 338)
|
|
1940
|
+
def _reduce_92(val, _values, result)
|
|
1849
1941
|
result = val[1] ? val[1].unshift(val[0]) : val
|
|
1850
1942
|
result
|
|
1851
1943
|
end
|
|
1852
1944
|
.,.,
|
|
1853
1945
|
|
|
1854
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1855
|
-
def
|
|
1946
|
+
module_eval(<<'.,.,', 'parser.y', 338)
|
|
1947
|
+
def _reduce_93(val, _values, result)
|
|
1856
1948
|
result = val[1] ? val[1].unshift(val[0]) : val
|
|
1857
1949
|
result
|
|
1858
1950
|
end
|
|
1859
1951
|
.,.,
|
|
1860
1952
|
|
|
1861
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1862
|
-
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)
|
|
1863
1976
|
result = [{tag: nil, tokens: val[0]}]
|
|
1864
1977
|
result
|
|
1865
1978
|
end
|
|
1866
1979
|
.,.,
|
|
1867
1980
|
|
|
1868
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1869
|
-
def
|
|
1870
|
-
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} }
|
|
1871
1984
|
result
|
|
1872
1985
|
end
|
|
1873
1986
|
.,.,
|
|
1874
1987
|
|
|
1875
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1876
|
-
def
|
|
1877
|
-
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]}]
|
|
1878
1991
|
result
|
|
1879
1992
|
end
|
|
1880
1993
|
.,.,
|
|
1881
1994
|
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
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
|
|
1885
2002
|
result
|
|
1886
2003
|
end
|
|
1887
2004
|
.,.,
|
|
1888
2005
|
|
|
1889
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1890
|
-
def
|
|
1891
|
-
|
|
2006
|
+
module_eval(<<'.,.,', 'parser.y', 346)
|
|
2007
|
+
def _reduce_103(val, _values, result)
|
|
2008
|
+
result = val[1] ? val[1].unshift(val[0]) : val
|
|
1892
2009
|
result
|
|
1893
2010
|
end
|
|
1894
2011
|
.,.,
|
|
1895
2012
|
|
|
1896
|
-
# reduce
|
|
2013
|
+
# reduce 104 omitted
|
|
1897
2014
|
|
|
1898
|
-
# reduce
|
|
2015
|
+
# reduce 105 omitted
|
|
1899
2016
|
|
|
1900
|
-
|
|
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
|
|
1901
2026
|
|
|
1902
|
-
|
|
2027
|
+
result
|
|
2028
|
+
end
|
|
2029
|
+
.,.,
|
|
1903
2030
|
|
|
1904
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1905
|
-
def
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
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]
|
|
1913
2044
|
|
|
1914
2045
|
result
|
|
1915
2046
|
end
|
|
1916
2047
|
.,.,
|
|
1917
2048
|
|
|
1918
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1919
|
-
def
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
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)
|
|
1925
2056
|
|
|
1926
2057
|
result
|
|
1927
2058
|
end
|
|
1928
2059
|
.,.,
|
|
1929
2060
|
|
|
1930
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1931
|
-
def
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
builder.line = @lexer.line - 1
|
|
1935
|
-
end
|
|
1936
|
-
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)
|
|
1937
2065
|
|
|
1938
2066
|
result
|
|
1939
2067
|
end
|
|
1940
2068
|
.,.,
|
|
1941
2069
|
|
|
1942
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1943
|
-
def
|
|
1944
|
-
|
|
1945
|
-
|
|
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
|
|
1946
2075
|
|
|
1947
2076
|
result
|
|
1948
2077
|
end
|
|
1949
2078
|
.,.,
|
|
1950
2079
|
|
|
1951
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1952
|
-
def
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
|
|
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
|
|
1958
2088
|
|
|
1959
2089
|
result
|
|
1960
2090
|
end
|
|
1961
2091
|
.,.,
|
|
1962
2092
|
|
|
1963
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1964
|
-
def
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
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
|
|
1970
2101
|
|
|
1971
2102
|
result
|
|
1972
2103
|
end
|
|
1973
2104
|
.,.,
|
|
1974
2105
|
|
|
1975
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1976
|
-
def
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
-
|
|
1980
|
-
|
|
1981
|
-
|
|
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
|
|
1982
2114
|
|
|
1983
2115
|
result
|
|
1984
2116
|
end
|
|
1985
2117
|
.,.,
|
|
1986
2118
|
|
|
1987
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1988
|
-
def
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
-
|
|
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
|
|
1995
2127
|
|
|
1996
2128
|
result
|
|
1997
2129
|
end
|
|
1998
2130
|
.,.,
|
|
1999
2131
|
|
|
2000
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
2001
|
-
def
|
|
2002
|
-
|
|
2003
|
-
|
|
2004
|
-
|
|
2005
|
-
|
|
2006
|
-
|
|
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
|
|
2007
2144
|
|
|
2008
2145
|
result
|
|
2009
2146
|
end
|
|
2010
2147
|
.,.,
|
|
2011
2148
|
|
|
2012
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
2013
|
-
def
|
|
2149
|
+
module_eval(<<'.,.,', 'parser.y', 444)
|
|
2150
|
+
def _reduce_116(val, _values, result)
|
|
2014
2151
|
result = "option"
|
|
2015
2152
|
result
|
|
2016
2153
|
end
|
|
2017
2154
|
.,.,
|
|
2018
2155
|
|
|
2019
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
2020
|
-
def
|
|
2156
|
+
module_eval(<<'.,.,', 'parser.y', 445)
|
|
2157
|
+
def _reduce_117(val, _values, result)
|
|
2021
2158
|
result = "nonempty_list"
|
|
2022
2159
|
result
|
|
2023
2160
|
end
|
|
2024
2161
|
.,.,
|
|
2025
2162
|
|
|
2026
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
2027
|
-
def
|
|
2163
|
+
module_eval(<<'.,.,', 'parser.y', 446)
|
|
2164
|
+
def _reduce_118(val, _values, result)
|
|
2028
2165
|
result = "list"
|
|
2029
2166
|
result
|
|
2030
2167
|
end
|
|
2031
2168
|
.,.,
|
|
2032
2169
|
|
|
2033
|
-
# reduce
|
|
2170
|
+
# reduce 119 omitted
|
|
2034
2171
|
|
|
2035
|
-
# reduce
|
|
2172
|
+
# reduce 120 omitted
|
|
2036
2173
|
|
|
2037
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
2038
|
-
def
|
|
2039
|
-
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
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
|
|
2044
2181
|
|
|
2045
2182
|
result
|
|
2046
2183
|
end
|
|
2047
2184
|
.,.,
|
|
2048
2185
|
|
|
2049
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
2050
|
-
def
|
|
2186
|
+
module_eval(<<'.,.,', 'parser.y', 457)
|
|
2187
|
+
def _reduce_122(val, _values, result)
|
|
2051
2188
|
result = val[0].append(val[2])
|
|
2052
2189
|
result
|
|
2053
2190
|
end
|
|
2054
2191
|
.,.,
|
|
2055
2192
|
|
|
2056
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
2057
|
-
def
|
|
2193
|
+
module_eval(<<'.,.,', 'parser.y', 458)
|
|
2194
|
+
def _reduce_123(val, _values, result)
|
|
2058
2195
|
result = [Lrama::Lexer::Token::InstantiateRule.new(s_value: val[0].s_value, location: @lexer.location, args: val[2])]
|
|
2059
2196
|
result
|
|
2060
2197
|
end
|
|
2061
2198
|
.,.,
|
|
2062
2199
|
|
|
2063
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
2064
|
-
def
|
|
2065
|
-
|
|
2066
|
-
|
|
2067
|
-
|
|
2068
|
-
|
|
2069
|
-
|
|
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("}")
|
|
2070
2207
|
|
|
2071
2208
|
result
|
|
2072
2209
|
end
|
|
2073
2210
|
.,.,
|
|
2074
2211
|
|
|
2075
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
2076
|
-
def
|
|
2077
|
-
|
|
2212
|
+
module_eval(<<'.,.,', 'parser.y', 471)
|
|
2213
|
+
def _reduce_125(val, _values, result)
|
|
2214
|
+
end_c_declaration
|
|
2078
2215
|
|
|
2079
2216
|
result
|
|
2080
2217
|
end
|
|
2081
2218
|
.,.,
|
|
2082
2219
|
|
|
2083
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
2084
|
-
def
|
|
2085
|
-
|
|
2220
|
+
module_eval(<<'.,.,', 'parser.y', 475)
|
|
2221
|
+
def _reduce_126(val, _values, result)
|
|
2222
|
+
result = val[2]
|
|
2086
2223
|
|
|
2087
2224
|
result
|
|
2088
2225
|
end
|
|
2089
2226
|
.,.,
|
|
2090
2227
|
|
|
2091
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
2092
|
-
def
|
|
2228
|
+
module_eval(<<'.,.,', 'parser.y', 478)
|
|
2229
|
+
def _reduce_127(val, _values, result)
|
|
2093
2230
|
result = val[1].s_value
|
|
2094
2231
|
result
|
|
2095
2232
|
end
|
|
2096
2233
|
.,.,
|
|
2097
2234
|
|
|
2098
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
2099
|
-
def
|
|
2100
|
-
|
|
2101
|
-
@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')
|
|
2102
2238
|
|
|
2103
2239
|
result
|
|
2104
2240
|
end
|
|
2105
2241
|
.,.,
|
|
2106
2242
|
|
|
2107
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
2108
|
-
def
|
|
2109
|
-
|
|
2110
|
-
|
|
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
|
|
2111
2248
|
|
|
2112
2249
|
result
|
|
2113
2250
|
end
|
|
2114
2251
|
.,.,
|
|
2115
2252
|
|
|
2116
|
-
# reduce
|
|
2253
|
+
# reduce 130 omitted
|
|
2117
2254
|
|
|
2118
|
-
# reduce
|
|
2255
|
+
# reduce 131 omitted
|
|
2119
2256
|
|
|
2120
|
-
# reduce
|
|
2257
|
+
# reduce 132 omitted
|
|
2121
2258
|
|
|
2122
|
-
# reduce
|
|
2259
|
+
# reduce 133 omitted
|
|
2123
2260
|
|
|
2124
|
-
# reduce
|
|
2261
|
+
# reduce 134 omitted
|
|
2125
2262
|
|
|
2126
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
2127
|
-
def
|
|
2128
|
-
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)
|
|
2129
2266
|
result
|
|
2130
2267
|
end
|
|
2131
2268
|
.,.,
|