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
|
@@ -2,45 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
module Lrama
|
|
4
4
|
class Lexer
|
|
5
|
-
|
|
6
|
-
attr_reader s_value: String
|
|
7
|
-
|
|
8
|
-
attr_reader location: Location
|
|
9
|
-
|
|
10
|
-
attr_accessor alias_name: String
|
|
11
|
-
|
|
12
|
-
attr_accessor referred: bool
|
|
13
|
-
|
|
14
|
-
# @rbs (s_value: String, ?alias_name: String, ?location: Location) -> void
|
|
15
|
-
def initialize: (s_value: String, ?alias_name: String, ?location: Location) -> void
|
|
16
|
-
|
|
17
|
-
# @rbs () -> String
|
|
18
|
-
def to_s: () -> String
|
|
19
|
-
|
|
20
|
-
# @rbs (String string) -> bool
|
|
21
|
-
def referred_by?: (String string) -> bool
|
|
22
|
-
|
|
23
|
-
# @rbs (Token other) -> bool
|
|
24
|
-
def ==: (Token other) -> bool
|
|
25
|
-
|
|
26
|
-
# @rbs () -> Integer
|
|
27
|
-
def first_line: () -> Integer
|
|
28
|
-
|
|
29
|
-
alias line first_line
|
|
30
|
-
|
|
31
|
-
# @rbs () -> Integer
|
|
32
|
-
def first_column: () -> Integer
|
|
33
|
-
|
|
34
|
-
alias column first_column
|
|
35
|
-
|
|
36
|
-
# @rbs () -> Integer
|
|
37
|
-
def last_line: () -> Integer
|
|
38
|
-
|
|
39
|
-
# @rbs () -> Integer
|
|
40
|
-
def last_column: () -> Integer
|
|
41
|
-
|
|
42
|
-
# @rbs (Lrama::Grammar::Reference ref, String message) -> bot
|
|
43
|
-
def invalid_ref: (Lrama::Grammar::Reference ref, String message) -> bot
|
|
5
|
+
module Token
|
|
44
6
|
end
|
|
45
7
|
end
|
|
46
8
|
end
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Generated from lib/lrama/lexer.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Lrama
|
|
4
|
+
class Lexer
|
|
5
|
+
type token = lexer_token | c_token
|
|
6
|
+
|
|
7
|
+
type lexer_token = [ String, Token::Token ] | [ ::Symbol, Token::Tag ] | [ ::Symbol, Token::Char ] | [ ::Symbol, Token::Str ] | [ ::Symbol, Token::Int ] | [ ::Symbol, Token::Ident ]
|
|
8
|
+
|
|
9
|
+
type c_token = [ :C_DECLARATION, Token::UserCode ]
|
|
10
|
+
|
|
11
|
+
attr_reader head_line: Integer
|
|
12
|
+
|
|
13
|
+
attr_reader head_column: Integer
|
|
14
|
+
|
|
15
|
+
attr_reader line: Integer
|
|
16
|
+
|
|
17
|
+
attr_accessor status: :initial | :c_declaration
|
|
18
|
+
|
|
19
|
+
attr_accessor end_symbol: String?
|
|
20
|
+
|
|
21
|
+
SYMBOLS: Array[String]
|
|
22
|
+
|
|
23
|
+
PERCENT_TOKENS: Array[String]
|
|
24
|
+
|
|
25
|
+
# @rbs (GrammarFile grammar_file) -> void
|
|
26
|
+
def initialize: (GrammarFile grammar_file) -> void
|
|
27
|
+
|
|
28
|
+
# @rbs () -> token?
|
|
29
|
+
def next_token: () -> token?
|
|
30
|
+
|
|
31
|
+
# @rbs () -> Integer
|
|
32
|
+
def column: () -> Integer
|
|
33
|
+
|
|
34
|
+
# @rbs () -> Location
|
|
35
|
+
def location: () -> Location
|
|
36
|
+
|
|
37
|
+
# @rbs () -> lexer_token?
|
|
38
|
+
def lex_token: () -> lexer_token?
|
|
39
|
+
|
|
40
|
+
# @rbs () -> c_token
|
|
41
|
+
def lex_c_code: () -> c_token
|
|
42
|
+
|
|
43
|
+
private
|
|
44
|
+
|
|
45
|
+
# @rbs () -> void
|
|
46
|
+
def lex_comment: () -> void
|
|
47
|
+
|
|
48
|
+
# @rbs () -> void
|
|
49
|
+
def reset_first_position: () -> void
|
|
50
|
+
|
|
51
|
+
# @rbs () -> void
|
|
52
|
+
def newline: () -> void
|
|
53
|
+
end
|
|
54
|
+
end
|
|
@@ -5,6 +5,12 @@ module Lrama
|
|
|
5
5
|
# @rbs (IO out) -> void
|
|
6
6
|
def initialize: (IO out) -> void
|
|
7
7
|
|
|
8
|
+
# @rbs () -> void
|
|
9
|
+
def line_break: () -> void
|
|
10
|
+
|
|
11
|
+
# @rbs (String message) -> void
|
|
12
|
+
def trace: (String message) -> void
|
|
13
|
+
|
|
8
14
|
# @rbs (String message) -> void
|
|
9
15
|
def warn: (String message) -> void
|
|
10
16
|
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Generated from lib/lrama/option_parser.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Lrama
|
|
4
|
+
# Handle option parsing for the command line interface.
|
|
5
|
+
class OptionParser
|
|
6
|
+
@options: Lrama::Options
|
|
7
|
+
|
|
8
|
+
@trace: Array[String]
|
|
9
|
+
|
|
10
|
+
@report: Array[String]
|
|
11
|
+
|
|
12
|
+
@profile: Array[String]
|
|
13
|
+
|
|
14
|
+
# @rbs (Array[String]) -> Lrama::Options
|
|
15
|
+
def self.parse: (Array[String]) -> Lrama::Options
|
|
16
|
+
|
|
17
|
+
# @rbs () -> void
|
|
18
|
+
def initialize: () -> void
|
|
19
|
+
|
|
20
|
+
# @rbs (Array[String]) -> Lrama::Options
|
|
21
|
+
def parse: (Array[String]) -> Lrama::Options
|
|
22
|
+
|
|
23
|
+
private
|
|
24
|
+
|
|
25
|
+
# @rbs (Array[String]) -> void
|
|
26
|
+
def parse_by_option_parser: (Array[String]) -> void
|
|
27
|
+
|
|
28
|
+
ALIASED_REPORTS: Hash[Symbol, Symbol]
|
|
29
|
+
|
|
30
|
+
VALID_REPORTS: Array[Symbol]
|
|
31
|
+
|
|
32
|
+
# @rbs (Array[String]) -> Hash[Symbol, bool]
|
|
33
|
+
def validate_report: (Array[String]) -> Hash[Symbol, bool]
|
|
34
|
+
|
|
35
|
+
# @rbs (String) -> Symbol
|
|
36
|
+
def aliased_report_option: (String) -> Symbol
|
|
37
|
+
|
|
38
|
+
VALID_TRACES: Array[String]
|
|
39
|
+
|
|
40
|
+
NOT_SUPPORTED_TRACES: Array[String]
|
|
41
|
+
|
|
42
|
+
SUPPORTED_TRACES: Array[String]
|
|
43
|
+
|
|
44
|
+
# @rbs (Array[String]) -> Hash[Symbol, bool]
|
|
45
|
+
def validate_trace: (Array[String]) -> Hash[Symbol, bool]
|
|
46
|
+
|
|
47
|
+
VALID_PROFILES: Array[String]
|
|
48
|
+
|
|
49
|
+
# @rbs (Array[String]) -> Hash[Symbol, bool]
|
|
50
|
+
def validate_profile: (Array[String]) -> Hash[Symbol, bool]
|
|
51
|
+
end
|
|
52
|
+
end
|
|
@@ -1,19 +1,43 @@
|
|
|
1
|
+
# Generated from lib/lrama/options.rb with RBS::Inline
|
|
2
|
+
|
|
1
3
|
module Lrama
|
|
4
|
+
# Command line options.
|
|
2
5
|
class Options
|
|
3
6
|
attr_accessor skeleton: String
|
|
4
|
-
|
|
7
|
+
|
|
8
|
+
attr_accessor locations: bool
|
|
9
|
+
|
|
5
10
|
attr_accessor header: bool
|
|
11
|
+
|
|
6
12
|
attr_accessor header_file: String?
|
|
13
|
+
|
|
7
14
|
attr_accessor report_file: String?
|
|
15
|
+
|
|
8
16
|
attr_accessor outfile: String
|
|
17
|
+
|
|
9
18
|
attr_accessor error_recovery: bool
|
|
10
|
-
|
|
19
|
+
|
|
20
|
+
attr_accessor grammar_file: String
|
|
21
|
+
|
|
11
22
|
attr_accessor trace_opts: Hash[Symbol, bool]?
|
|
23
|
+
|
|
12
24
|
attr_accessor report_opts: Hash[Symbol, bool]?
|
|
13
|
-
|
|
25
|
+
|
|
26
|
+
attr_accessor warnings: bool
|
|
27
|
+
|
|
14
28
|
attr_accessor y: IO
|
|
29
|
+
|
|
15
30
|
attr_accessor debug: bool
|
|
16
31
|
|
|
32
|
+
attr_accessor define: Hash[String, String]
|
|
33
|
+
|
|
34
|
+
attr_accessor diagram: bool
|
|
35
|
+
|
|
36
|
+
attr_accessor diagram_file: String
|
|
37
|
+
|
|
38
|
+
attr_accessor profile_opts: Hash[Symbol, bool]?
|
|
39
|
+
|
|
40
|
+
# @rbs () -> void
|
|
17
41
|
def initialize: () -> void
|
|
18
42
|
end
|
|
19
43
|
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Generated from lib/lrama/reporter/conflicts.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Lrama
|
|
4
|
+
class Reporter
|
|
5
|
+
class Conflicts
|
|
6
|
+
# @rbs (IO io, Lrama::States states) -> void
|
|
7
|
+
def report: (IO io, Lrama::States states) -> void
|
|
8
|
+
|
|
9
|
+
private
|
|
10
|
+
|
|
11
|
+
# @rbs (IO io, Lrama::States states) -> void
|
|
12
|
+
def report_conflicts: (IO io, Lrama::States states) -> void
|
|
13
|
+
|
|
14
|
+
# @rbs (Array[(Lrama::State::ShiftReduceConflict | Lrama::State::ReduceReduceConflict)] conflicts) -> Array[String]
|
|
15
|
+
def format_conflict_messages: (Array[Lrama::State::ShiftReduceConflict | Lrama::State::ReduceReduceConflict] conflicts) -> Array[String]
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Generated from lib/lrama/reporter/grammar.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Lrama
|
|
4
|
+
class Reporter
|
|
5
|
+
class Grammar
|
|
6
|
+
# @rbs (?grammar: bool, **bool _) -> void
|
|
7
|
+
def initialize: (?grammar: bool, **bool _) -> void
|
|
8
|
+
|
|
9
|
+
# @rbs (IO io, Lrama::States states) -> void
|
|
10
|
+
def report: (IO io, Lrama::States states) -> void
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Generated from lib/lrama/reporter/precedences.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Lrama
|
|
4
|
+
class Reporter
|
|
5
|
+
class Precedences
|
|
6
|
+
# @rbs (IO io, Lrama::States states) -> void
|
|
7
|
+
def report: (IO io, Lrama::States states) -> void
|
|
8
|
+
|
|
9
|
+
private
|
|
10
|
+
|
|
11
|
+
# @rbs (IO io, Lrama::States states) -> void
|
|
12
|
+
def report_precedences: (IO io, Lrama::States states) -> void
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Generated from lib/lrama/reporter/profile/call_stack.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Lrama
|
|
4
|
+
class Reporter
|
|
5
|
+
module Profile
|
|
6
|
+
module CallStack
|
|
7
|
+
# See "Call-stack Profiling Lrama" in README.md for how to use.
|
|
8
|
+
#
|
|
9
|
+
# @rbs enabled: bool
|
|
10
|
+
# @rbs &: -> void
|
|
11
|
+
# @rbs return: StackProf::result | void
|
|
12
|
+
def self.report: (bool enabled) { () -> void } -> (StackProf::result | void)
|
|
13
|
+
|
|
14
|
+
# @rbs return: bool
|
|
15
|
+
def self.require_stackprof: () -> bool
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Generated from lib/lrama/reporter/profile/memory.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Lrama
|
|
4
|
+
class Reporter
|
|
5
|
+
module Profile
|
|
6
|
+
module Memory
|
|
7
|
+
# See "Memory Profiling Lrama" in README.md for how to use.
|
|
8
|
+
#
|
|
9
|
+
# @rbs enabled: bool
|
|
10
|
+
# @rbs &: -> void
|
|
11
|
+
# @rbs return: StackProf::result | void
|
|
12
|
+
def self.report: (bool enabled) { () -> void } -> (StackProf::result | void)
|
|
13
|
+
|
|
14
|
+
# @rbs return: bool
|
|
15
|
+
def self.require_memory_profiler: () -> bool
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Generated from lib/lrama/reporter/rules.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Lrama
|
|
4
|
+
class Reporter
|
|
5
|
+
class Rules
|
|
6
|
+
# @rbs (?rules: bool, **bool _) -> void
|
|
7
|
+
def initialize: (?rules: bool, **bool _) -> void
|
|
8
|
+
|
|
9
|
+
# @rbs (IO io, Lrama::States states) -> void
|
|
10
|
+
def report: (IO io, Lrama::States states) -> void
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Generated from lib/lrama/reporter/states.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Lrama
|
|
4
|
+
class Reporter
|
|
5
|
+
class States
|
|
6
|
+
# @rbs (?itemsets: bool, ?lookaheads: bool, ?solved: bool, ?counterexamples: bool, ?verbose: bool, **bool _) -> void
|
|
7
|
+
def initialize: (?itemsets: bool, ?lookaheads: bool, ?solved: bool, ?counterexamples: bool, ?verbose: bool, **bool _) -> void
|
|
8
|
+
|
|
9
|
+
# @rbs (IO io, Lrama::States states, ielr: bool) -> void
|
|
10
|
+
def report: (IO io, Lrama::States states, ielr: bool) -> void
|
|
11
|
+
|
|
12
|
+
private
|
|
13
|
+
|
|
14
|
+
# @rbs (IO io, Array[Lrama::State] states) -> void
|
|
15
|
+
def report_split_states: (IO io, Array[Lrama::State] states) -> void
|
|
16
|
+
|
|
17
|
+
# @rbs (IO io, Lrama::State state) -> void
|
|
18
|
+
def report_state_header: (IO io, Lrama::State state) -> void
|
|
19
|
+
|
|
20
|
+
# @rbs (IO io, Lrama::State state) -> void
|
|
21
|
+
def report_items: (IO io, Lrama::State state) -> void
|
|
22
|
+
|
|
23
|
+
# @rbs (IO io, Lrama::State state) -> void
|
|
24
|
+
def report_conflicts: (IO io, Lrama::State state) -> void
|
|
25
|
+
|
|
26
|
+
# @rbs (IO io, Lrama::State state) -> void
|
|
27
|
+
def report_shifts: (IO io, Lrama::State state) -> void
|
|
28
|
+
|
|
29
|
+
# @rbs (IO io, Lrama::State state) -> void
|
|
30
|
+
def report_nonassoc_errors: (IO io, Lrama::State state) -> void
|
|
31
|
+
|
|
32
|
+
# @rbs (IO io, Lrama::State state) -> void
|
|
33
|
+
def report_reduces: (IO io, Lrama::State state) -> void
|
|
34
|
+
|
|
35
|
+
# @rbs (IO io, Lrama::State state) -> void
|
|
36
|
+
def report_nterm_transitions: (IO io, Lrama::State state) -> void
|
|
37
|
+
|
|
38
|
+
# @rbs (IO io, Lrama::State state) -> void
|
|
39
|
+
def report_conflict_resolutions: (IO io, Lrama::State state) -> void
|
|
40
|
+
|
|
41
|
+
# @rbs (IO io, Lrama::State state, Lrama::Counterexamples cex) -> void
|
|
42
|
+
def report_counterexamples: (IO io, Lrama::State state, Lrama::Counterexamples cex) -> void
|
|
43
|
+
|
|
44
|
+
# @rbs (IO io, Lrama::State state, Lrama::States states) -> void
|
|
45
|
+
def report_verbose_info: (IO io, Lrama::State state, Lrama::States states) -> void
|
|
46
|
+
|
|
47
|
+
# @rbs (IO io, Lrama::State state, Lrama::States states) -> void
|
|
48
|
+
def report_direct_read_sets: (IO io, Lrama::State state, Lrama::States states) -> void
|
|
49
|
+
|
|
50
|
+
# @rbs (IO io, Lrama::State state, Lrama::States states) -> void
|
|
51
|
+
def report_reads_relation: (IO io, Lrama::State state, Lrama::States states) -> void
|
|
52
|
+
|
|
53
|
+
# @rbs (IO io, Lrama::State state, Lrama::States states) -> void
|
|
54
|
+
def report_read_sets: (IO io, Lrama::State state, Lrama::States states) -> void
|
|
55
|
+
|
|
56
|
+
# @rbs (IO io, Lrama::State state, Lrama::States states) -> void
|
|
57
|
+
def report_includes_relation: (IO io, Lrama::State state, Lrama::States states) -> void
|
|
58
|
+
|
|
59
|
+
# @rbs (IO io, Lrama::State state, Lrama::States states) -> void
|
|
60
|
+
def report_lookback_relation: (IO io, Lrama::State state, Lrama::States states) -> void
|
|
61
|
+
|
|
62
|
+
# @rbs (IO io, Lrama::State state, Lrama::States states) -> void
|
|
63
|
+
def report_follow_sets: (IO io, Lrama::State state, Lrama::States states) -> void
|
|
64
|
+
|
|
65
|
+
# @rbs (IO io, Lrama::State state, Lrama::States states) -> void
|
|
66
|
+
def report_look_ahead_sets: (IO io, Lrama::State state, Lrama::States states) -> void
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Generated from lib/lrama/reporter/terms.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Lrama
|
|
4
|
+
class Reporter
|
|
5
|
+
class Terms
|
|
6
|
+
# @rbs (?terms: bool, **bool _) -> void
|
|
7
|
+
def initialize: (?terms: bool, **bool _) -> void
|
|
8
|
+
|
|
9
|
+
# @rbs (IO io, Lrama::States states) -> void
|
|
10
|
+
def report: (IO io, Lrama::States states) -> void
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Generated from lib/lrama/reporter.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Lrama
|
|
4
|
+
class Reporter
|
|
5
|
+
include Lrama::Tracer::Duration
|
|
6
|
+
|
|
7
|
+
# @rbs (**bool options) -> void
|
|
8
|
+
def initialize: (**bool options) -> void
|
|
9
|
+
|
|
10
|
+
# @rbs (File io, Lrama::States states) -> void
|
|
11
|
+
def report: (File io, Lrama::States states) -> void
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Generated from lib/lrama/state/action/goto.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Lrama
|
|
4
|
+
class State
|
|
5
|
+
class Action
|
|
6
|
+
class Goto
|
|
7
|
+
@from_state: State
|
|
8
|
+
|
|
9
|
+
@next_sym: Grammar::Symbol
|
|
10
|
+
|
|
11
|
+
@to_items: Array[Item]
|
|
12
|
+
|
|
13
|
+
@to_state: State
|
|
14
|
+
|
|
15
|
+
attr_reader from_state: State
|
|
16
|
+
|
|
17
|
+
attr_reader next_sym: Grammar::Symbol
|
|
18
|
+
|
|
19
|
+
attr_reader to_items: Array[Item]
|
|
20
|
+
|
|
21
|
+
attr_reader to_state: State
|
|
22
|
+
|
|
23
|
+
# @rbs (State from_state, Grammar::Symbol next_sym, Array[Item] to_items, State to_state) -> void
|
|
24
|
+
def initialize: (State from_state, Grammar::Symbol next_sym, Array[Item] to_items, State to_state) -> void
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Generated from lib/lrama/state/action/reduce.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Lrama
|
|
4
|
+
class State
|
|
5
|
+
class Action
|
|
6
|
+
class Reduce
|
|
7
|
+
@item: Item
|
|
8
|
+
|
|
9
|
+
@look_ahead: Array[Grammar::Symbol]?
|
|
10
|
+
|
|
11
|
+
@look_ahead_sources: Hash[Grammar::Symbol, Array[Action::Goto]]?
|
|
12
|
+
|
|
13
|
+
@not_selected_symbols: Array[Grammar::Symbol]
|
|
14
|
+
|
|
15
|
+
attr_reader item: Item
|
|
16
|
+
|
|
17
|
+
attr_reader look_ahead: Array[Grammar::Symbol]?
|
|
18
|
+
|
|
19
|
+
attr_reader look_ahead_sources: Hash[Grammar::Symbol, Array[Action::Goto]]?
|
|
20
|
+
|
|
21
|
+
attr_reader not_selected_symbols: Array[Grammar::Symbol]
|
|
22
|
+
|
|
23
|
+
# https://www.gnu.org/software/bison/manual/html_node/Default-Reductions.html
|
|
24
|
+
attr_accessor default_reduction: bool
|
|
25
|
+
|
|
26
|
+
# @rbs (Item item) -> void
|
|
27
|
+
def initialize: (Item item) -> void
|
|
28
|
+
|
|
29
|
+
# @rbs () -> Grammar::Rule
|
|
30
|
+
def rule: () -> Grammar::Rule
|
|
31
|
+
|
|
32
|
+
# @rbs (Array[Grammar::Symbol] look_ahead) -> Array[Grammar::Symbol]
|
|
33
|
+
def look_ahead=: (Array[Grammar::Symbol] look_ahead) -> Array[Grammar::Symbol]
|
|
34
|
+
|
|
35
|
+
# @rbs (Hash[Grammar::Symbol, Array[Action::Goto]] sources) -> Hash[Grammar::Symbol, Array[Action::Goto]]
|
|
36
|
+
def look_ahead_sources=: (Hash[Grammar::Symbol, Array[Action::Goto]] sources) -> Hash[Grammar::Symbol, Array[Action::Goto]]
|
|
37
|
+
|
|
38
|
+
# @rbs (Grammar::Symbol sym) -> Array[Grammar::Symbol]
|
|
39
|
+
def add_not_selected_symbol: (Grammar::Symbol sym) -> Array[Grammar::Symbol]
|
|
40
|
+
|
|
41
|
+
# @rbs () -> (::Array[Grammar::Symbol?])
|
|
42
|
+
def selected_look_ahead: () -> ::Array[Grammar::Symbol?]
|
|
43
|
+
|
|
44
|
+
# @rbs () -> void
|
|
45
|
+
def clear_conflicts: () -> void
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Generated from lib/lrama/state/action/shift.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Lrama
|
|
4
|
+
class State
|
|
5
|
+
class Action
|
|
6
|
+
class Shift
|
|
7
|
+
@from_state: State
|
|
8
|
+
|
|
9
|
+
@next_sym: Grammar::Symbol
|
|
10
|
+
|
|
11
|
+
@to_items: Array[Item]
|
|
12
|
+
|
|
13
|
+
@to_state: State
|
|
14
|
+
|
|
15
|
+
attr_reader from_state: State
|
|
16
|
+
|
|
17
|
+
attr_reader next_sym: Grammar::Symbol
|
|
18
|
+
|
|
19
|
+
attr_reader to_items: Array[Item]
|
|
20
|
+
|
|
21
|
+
attr_reader to_state: State
|
|
22
|
+
|
|
23
|
+
attr_accessor not_selected: bool
|
|
24
|
+
|
|
25
|
+
# @rbs (State from_state, Grammar::Symbol next_sym, Array[Item] to_items, State to_state) -> void
|
|
26
|
+
def initialize: (State from_state, Grammar::Symbol next_sym, Array[Item] to_items, State to_state) -> void
|
|
27
|
+
|
|
28
|
+
# @rbs () -> void
|
|
29
|
+
def clear_conflicts: () -> void
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Generated from lib/lrama/state/inadequacy_annotation.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Lrama
|
|
4
|
+
class State
|
|
5
|
+
class InadequacyAnnotation
|
|
6
|
+
type action = Action::Shift | Action::Reduce
|
|
7
|
+
|
|
8
|
+
attr_accessor state: State
|
|
9
|
+
|
|
10
|
+
attr_accessor token: Grammar::Symbol
|
|
11
|
+
|
|
12
|
+
attr_accessor actions: Array[action]
|
|
13
|
+
|
|
14
|
+
attr_accessor contribution_matrix: Hash[action, Hash[Item, bool]]
|
|
15
|
+
|
|
16
|
+
# @rbs (State state, Grammar::Symbol token, Array[action] actions, Hash[action, Hash[Item, bool]] contribution_matrix) -> void
|
|
17
|
+
def initialize: (State state, Grammar::Symbol token, Array[action] actions, Hash[action, Hash[Item, bool]] contribution_matrix) -> void
|
|
18
|
+
|
|
19
|
+
# @rbs (Item item) -> bool
|
|
20
|
+
def contributed?: (Item item) -> bool
|
|
21
|
+
|
|
22
|
+
# @rbs (Array[Hash[action, Hash[Item, bool]]] another_matrixes) -> void
|
|
23
|
+
def merge_matrix: (Array[Hash[action, Hash[Item, bool]]] another_matrixes) -> void
|
|
24
|
+
|
|
25
|
+
# Definition 3.42 (dominant_contribution)
|
|
26
|
+
#
|
|
27
|
+
# @rbs (State::lookahead_set lookaheads) -> Array[action]?
|
|
28
|
+
def dominant_contribution: (State::lookahead_set lookaheads) -> Array[action]?
|
|
29
|
+
|
|
30
|
+
# @rbs (Array[action] actions) -> Array[action]
|
|
31
|
+
def resolve_conflict: (Array[action] actions) -> Array[action]
|
|
32
|
+
|
|
33
|
+
# @rbs () -> String
|
|
34
|
+
def to_s: () -> String
|
|
35
|
+
|
|
36
|
+
private
|
|
37
|
+
|
|
38
|
+
# @rbs () -> String
|
|
39
|
+
def actions_to_s: () -> String
|
|
40
|
+
|
|
41
|
+
# @rbs () -> String
|
|
42
|
+
def contribution_matrix_to_s: () -> String
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Generated from lib/lrama/state/item.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Lrama
|
|
4
|
+
class State
|
|
5
|
+
class Item
|
|
6
|
+
include Grammar::Rule::_DelegatedMethods
|
|
7
|
+
|
|
8
|
+
attr_accessor rule: Grammar::Rule
|
|
9
|
+
|
|
10
|
+
attr_accessor position: Integer
|
|
11
|
+
|
|
12
|
+
def initialize: (?rule: Grammar::Rule, ?position: Integer) -> void
|
|
13
|
+
|
|
14
|
+
extend Forwardable
|
|
15
|
+
|
|
16
|
+
# Optimization for States#setup_state
|
|
17
|
+
#
|
|
18
|
+
# @rbs () -> Integer
|
|
19
|
+
def hash: () -> Integer
|
|
20
|
+
|
|
21
|
+
# @rbs () -> Integer
|
|
22
|
+
def rule_id: () -> Integer
|
|
23
|
+
|
|
24
|
+
# @rbs () -> bool
|
|
25
|
+
def empty_rule?: () -> bool
|
|
26
|
+
|
|
27
|
+
# @rbs () -> Integer
|
|
28
|
+
def number_of_rest_symbols: () -> Integer
|
|
29
|
+
|
|
30
|
+
# @rbs () -> Grammar::Symbol
|
|
31
|
+
def next_sym: () -> Grammar::Symbol
|
|
32
|
+
|
|
33
|
+
# @rbs () -> Grammar::Symbol
|
|
34
|
+
def next_next_sym: () -> Grammar::Symbol
|
|
35
|
+
|
|
36
|
+
# @rbs () -> Grammar::Symbol
|
|
37
|
+
def previous_sym: () -> Grammar::Symbol
|
|
38
|
+
|
|
39
|
+
# @rbs () -> bool
|
|
40
|
+
def end_of_rule?: () -> bool
|
|
41
|
+
|
|
42
|
+
# @rbs () -> bool
|
|
43
|
+
def beginning_of_rule?: () -> bool
|
|
44
|
+
|
|
45
|
+
# @rbs () -> bool
|
|
46
|
+
def start_item?: () -> bool
|
|
47
|
+
|
|
48
|
+
# @rbs () -> State::Item
|
|
49
|
+
def new_by_next_position: () -> State::Item
|
|
50
|
+
|
|
51
|
+
# @rbs () -> Array[Grammar::Symbol]
|
|
52
|
+
def symbols_before_dot: () -> Array[Grammar::Symbol]
|
|
53
|
+
|
|
54
|
+
# @rbs () -> Array[Grammar::Symbol]
|
|
55
|
+
def symbols_after_dot: () -> Array[Grammar::Symbol]
|
|
56
|
+
|
|
57
|
+
# @rbs () -> Array[Grammar::Symbol]
|
|
58
|
+
def symbols_after_transition: () -> Array[Grammar::Symbol]
|
|
59
|
+
|
|
60
|
+
# @rbs () -> ::String
|
|
61
|
+
def to_s: () -> ::String
|
|
62
|
+
|
|
63
|
+
# @rbs () -> ::String
|
|
64
|
+
def display_name: () -> ::String
|
|
65
|
+
|
|
66
|
+
# Right after position
|
|
67
|
+
#
|
|
68
|
+
# @rbs () -> ::String
|
|
69
|
+
def display_rest: () -> ::String
|
|
70
|
+
|
|
71
|
+
# @rbs (State::Item other_item) -> bool
|
|
72
|
+
def predecessor_item_of?: (State::Item other_item) -> bool
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Generated from lib/lrama/state/reduce_reduce_conflict.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Lrama
|
|
4
|
+
class State
|
|
5
|
+
class ReduceReduceConflict
|
|
6
|
+
attr_reader symbols: Array[Grammar::Symbol]
|
|
7
|
+
|
|
8
|
+
attr_reader reduce1: State::Action::Reduce
|
|
9
|
+
|
|
10
|
+
attr_reader reduce2: State::Action::Reduce
|
|
11
|
+
|
|
12
|
+
# @rbs (symbols: Array[Grammar::Symbol], reduce1: State::Action::Reduce, reduce2: State::Action::Reduce) -> void
|
|
13
|
+
def initialize: (symbols: Array[Grammar::Symbol], reduce1: State::Action::Reduce, reduce2: State::Action::Reduce) -> void
|
|
14
|
+
|
|
15
|
+
# @rbs () -> :reduce_reduce
|
|
16
|
+
def type: () -> :reduce_reduce
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|