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
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# Generated from lib/lrama/grammar/symbols/resolver.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Lrama
|
|
4
|
+
class Grammar
|
|
5
|
+
class Symbols
|
|
6
|
+
class Resolver
|
|
7
|
+
interface _DelegatedMethods
|
|
8
|
+
def symbols: () -> Array[Grammar::Symbol]
|
|
9
|
+
|
|
10
|
+
def nterms: () -> Array[Grammar::Symbol]
|
|
11
|
+
|
|
12
|
+
def terms: () -> Array[Grammar::Symbol]
|
|
13
|
+
|
|
14
|
+
def add_nterm: (id: Lexer::Token::Base, ?alias_name: String?, ?tag: Lexer::Token::Tag?) -> Grammar::Symbol
|
|
15
|
+
|
|
16
|
+
def add_term: (id: Lexer::Token::Base, ?alias_name: String?, ?tag: Lexer::Token::Tag?, ?token_id: Integer?, ?replace: bool) -> Grammar::Symbol
|
|
17
|
+
|
|
18
|
+
def find_symbol_by_number!: (Integer number) -> Grammar::Symbol
|
|
19
|
+
|
|
20
|
+
def find_symbol_by_id!: (Lexer::Token::Base id) -> Grammar::Symbol
|
|
21
|
+
|
|
22
|
+
def token_to_symbol: (Lexer::Token::Base token) -> Grammar::Symbol
|
|
23
|
+
|
|
24
|
+
def find_symbol_by_s_value!: (::String s_value) -> Grammar::Symbol
|
|
25
|
+
|
|
26
|
+
def fill_nterm_type: (Array[Grammar::Type] types) -> void
|
|
27
|
+
|
|
28
|
+
def fill_symbol_number: () -> void
|
|
29
|
+
|
|
30
|
+
def fill_printer: (Array[Grammar::Printer] printers) -> void
|
|
31
|
+
|
|
32
|
+
def fill_destructor: (Array[Destructor] destructors) -> (Destructor | bot)
|
|
33
|
+
|
|
34
|
+
def fill_error_token: (Array[Grammar::ErrorToken] error_tokens) -> void
|
|
35
|
+
|
|
36
|
+
def sort_by_number!: () -> Array[Grammar::Symbol]
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
@symbols: Array[Grammar::Symbol]?
|
|
40
|
+
|
|
41
|
+
@number: Integer
|
|
42
|
+
|
|
43
|
+
@used_numbers: Hash[Integer, bool]
|
|
44
|
+
|
|
45
|
+
attr_reader terms: Array[Grammar::Symbol]
|
|
46
|
+
|
|
47
|
+
attr_reader nterms: Array[Grammar::Symbol]
|
|
48
|
+
|
|
49
|
+
# @rbs () -> void
|
|
50
|
+
def initialize: () -> void
|
|
51
|
+
|
|
52
|
+
# @rbs () -> Array[Grammar::Symbol]
|
|
53
|
+
def symbols: () -> Array[Grammar::Symbol]
|
|
54
|
+
|
|
55
|
+
# @rbs () -> Array[Grammar::Symbol]
|
|
56
|
+
def sort_by_number!: () -> Array[Grammar::Symbol]
|
|
57
|
+
|
|
58
|
+
# @rbs (id: Lexer::Token::Base, ?alias_name: String?, ?tag: Lexer::Token::Tag?, ?token_id: Integer?, ?replace: bool) -> Grammar::Symbol
|
|
59
|
+
def add_term: (id: Lexer::Token::Base, ?alias_name: String?, ?tag: Lexer::Token::Tag?, ?token_id: Integer?, ?replace: bool) -> Grammar::Symbol
|
|
60
|
+
|
|
61
|
+
# @rbs (id: Lexer::Token::Base, ?alias_name: String?, ?tag: Lexer::Token::Tag?) -> Grammar::Symbol
|
|
62
|
+
def add_nterm: (id: Lexer::Token::Base, ?alias_name: String?, ?tag: Lexer::Token::Tag?) -> Grammar::Symbol
|
|
63
|
+
|
|
64
|
+
# @rbs (::String s_value) -> Grammar::Symbol?
|
|
65
|
+
def find_term_by_s_value: (::String s_value) -> Grammar::Symbol?
|
|
66
|
+
|
|
67
|
+
# @rbs (::String s_value) -> Grammar::Symbol?
|
|
68
|
+
def find_symbol_by_s_value: (::String s_value) -> Grammar::Symbol?
|
|
69
|
+
|
|
70
|
+
# @rbs (::String s_value) -> Grammar::Symbol
|
|
71
|
+
def find_symbol_by_s_value!: (::String s_value) -> Grammar::Symbol
|
|
72
|
+
|
|
73
|
+
# @rbs (Lexer::Token::Base id) -> Grammar::Symbol?
|
|
74
|
+
def find_symbol_by_id: (Lexer::Token::Base id) -> Grammar::Symbol?
|
|
75
|
+
|
|
76
|
+
# @rbs (Lexer::Token::Base id) -> Grammar::Symbol
|
|
77
|
+
def find_symbol_by_id!: (Lexer::Token::Base id) -> Grammar::Symbol
|
|
78
|
+
|
|
79
|
+
# @rbs (Integer token_id) -> Grammar::Symbol?
|
|
80
|
+
def find_symbol_by_token_id: (Integer token_id) -> Grammar::Symbol?
|
|
81
|
+
|
|
82
|
+
# @rbs (Integer number) -> Grammar::Symbol
|
|
83
|
+
def find_symbol_by_number!: (Integer number) -> Grammar::Symbol
|
|
84
|
+
|
|
85
|
+
# @rbs () -> void
|
|
86
|
+
def fill_symbol_number: () -> void
|
|
87
|
+
|
|
88
|
+
# @rbs (Array[Grammar::Type] types) -> void
|
|
89
|
+
def fill_nterm_type: (Array[Grammar::Type] types) -> void
|
|
90
|
+
|
|
91
|
+
# @rbs (Array[Grammar::Printer] printers) -> void
|
|
92
|
+
def fill_printer: (Array[Grammar::Printer] printers) -> void
|
|
93
|
+
|
|
94
|
+
# @rbs (Array[Destructor] destructors) -> (Array[Grammar::Symbol] | bot)
|
|
95
|
+
def fill_destructor: (Array[Destructor] destructors) -> (Array[Grammar::Symbol] | bot)
|
|
96
|
+
|
|
97
|
+
# @rbs (Array[Grammar::ErrorToken] error_tokens) -> void
|
|
98
|
+
def fill_error_token: (Array[Grammar::ErrorToken] error_tokens) -> void
|
|
99
|
+
|
|
100
|
+
# @rbs (Lexer::Token::Base token) -> Grammar::Symbol
|
|
101
|
+
def token_to_symbol: (Lexer::Token::Base token) -> Grammar::Symbol
|
|
102
|
+
|
|
103
|
+
# @rbs () -> void
|
|
104
|
+
def validate!: () -> void
|
|
105
|
+
|
|
106
|
+
private
|
|
107
|
+
|
|
108
|
+
# @rbs (Lexer::Token::Base id) -> Grammar::Symbol
|
|
109
|
+
def find_nterm_by_id!: (Lexer::Token::Base id) -> Grammar::Symbol
|
|
110
|
+
|
|
111
|
+
# @rbs () -> void
|
|
112
|
+
def fill_terms_number: () -> void
|
|
113
|
+
|
|
114
|
+
# @rbs () -> void
|
|
115
|
+
def fill_nterms_number: () -> void
|
|
116
|
+
|
|
117
|
+
# @rbs () -> Hash[Integer, bool]
|
|
118
|
+
def used_numbers: () -> Hash[Integer, bool]
|
|
119
|
+
|
|
120
|
+
# @rbs () -> void
|
|
121
|
+
def validate_number_uniqueness!: () -> void
|
|
122
|
+
|
|
123
|
+
# @rbs () -> void
|
|
124
|
+
def validate_alias_name_uniqueness!: () -> void
|
|
125
|
+
|
|
126
|
+
# @rbs () -> void
|
|
127
|
+
def validate_symbols!: () -> void
|
|
128
|
+
end
|
|
129
|
+
end
|
|
130
|
+
end
|
|
131
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Generated from lib/lrama/grammar/type.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Lrama
|
|
4
|
+
class Grammar
|
|
5
|
+
class Type
|
|
6
|
+
@id: Lexer::Token::Base
|
|
7
|
+
|
|
8
|
+
@tag: Lexer::Token::Tag
|
|
9
|
+
|
|
10
|
+
attr_reader id: Lexer::Token::Base
|
|
11
|
+
|
|
12
|
+
attr_reader tag: Lexer::Token::Tag
|
|
13
|
+
|
|
14
|
+
# @rbs (id: Lexer::Token::Base, tag: Lexer::Token::Tag) -> void
|
|
15
|
+
def initialize: (id: Lexer::Token::Base, tag: Lexer::Token::Tag) -> void
|
|
16
|
+
|
|
17
|
+
# @rbs (Grammar::Type other) -> bool
|
|
18
|
+
def ==: (Grammar::Type other) -> bool
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Generated from lib/lrama/grammar/union.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Lrama
|
|
4
|
+
class Grammar
|
|
5
|
+
class Union
|
|
6
|
+
attr_reader code: Grammar::Code::NoReferenceCode
|
|
7
|
+
|
|
8
|
+
attr_reader lineno: Integer
|
|
9
|
+
|
|
10
|
+
# @rbs (code: Grammar::Code::NoReferenceCode, lineno: Integer) -> void
|
|
11
|
+
def initialize: (code: Grammar::Code::NoReferenceCode, lineno: Integer) -> void
|
|
12
|
+
|
|
13
|
+
# @rbs () -> String
|
|
14
|
+
def braces_less_code: () -> String
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
# Generated from lib/lrama/grammar.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Lrama
|
|
4
|
+
# Grammar is the result of parsing an input grammar file
|
|
5
|
+
class Grammar
|
|
6
|
+
interface _DelegatedMethods
|
|
7
|
+
def rules: () -> Array[Rule]
|
|
8
|
+
|
|
9
|
+
def accept_symbol: () -> Grammar::Symbol
|
|
10
|
+
|
|
11
|
+
def eof_symbol: () -> Grammar::Symbol
|
|
12
|
+
|
|
13
|
+
def undef_symbol: () -> Grammar::Symbol
|
|
14
|
+
|
|
15
|
+
def precedences: () -> Array[Precedence]
|
|
16
|
+
|
|
17
|
+
# delegate to @symbols_resolver
|
|
18
|
+
def symbols: () -> Array[Grammar::Symbol]
|
|
19
|
+
|
|
20
|
+
def terms: () -> Array[Grammar::Symbol]
|
|
21
|
+
|
|
22
|
+
def nterms: () -> Array[Grammar::Symbol]
|
|
23
|
+
|
|
24
|
+
def find_symbol_by_s_value!: (::String s_value) -> Grammar::Symbol
|
|
25
|
+
|
|
26
|
+
def ielr_defined?: () -> bool
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
include Symbols::Resolver::_DelegatedMethods
|
|
30
|
+
|
|
31
|
+
@rule_counter: Counter
|
|
32
|
+
|
|
33
|
+
@percent_codes: Array[PercentCode]
|
|
34
|
+
|
|
35
|
+
@printers: Array[Printer]
|
|
36
|
+
|
|
37
|
+
@destructors: Array[Destructor]
|
|
38
|
+
|
|
39
|
+
@error_tokens: Array[ErrorToken]
|
|
40
|
+
|
|
41
|
+
@symbols_resolver: Symbols::Resolver
|
|
42
|
+
|
|
43
|
+
@types: Array[Type]
|
|
44
|
+
|
|
45
|
+
@rule_builders: Array[RuleBuilder]
|
|
46
|
+
|
|
47
|
+
@rules: Array[Rule]
|
|
48
|
+
|
|
49
|
+
@sym_to_rules: Hash[Integer, Array[Rule]]
|
|
50
|
+
|
|
51
|
+
@parameterized_resolver: Parameterized::Resolver
|
|
52
|
+
|
|
53
|
+
@empty_symbol: Grammar::Symbol
|
|
54
|
+
|
|
55
|
+
@eof_symbol: Grammar::Symbol
|
|
56
|
+
|
|
57
|
+
@error_symbol: Grammar::Symbol
|
|
58
|
+
|
|
59
|
+
@undef_symbol: Grammar::Symbol
|
|
60
|
+
|
|
61
|
+
@accept_symbol: Grammar::Symbol
|
|
62
|
+
|
|
63
|
+
@aux: Auxiliary
|
|
64
|
+
|
|
65
|
+
@no_stdlib: bool
|
|
66
|
+
|
|
67
|
+
@locations: bool
|
|
68
|
+
|
|
69
|
+
@define: Hash[String, String]
|
|
70
|
+
|
|
71
|
+
@required: bool
|
|
72
|
+
|
|
73
|
+
@union: Union
|
|
74
|
+
|
|
75
|
+
@precedences: Array[Precedence]
|
|
76
|
+
|
|
77
|
+
@start_nterm: Lrama::Lexer::Token::Base?
|
|
78
|
+
|
|
79
|
+
extend Forwardable
|
|
80
|
+
|
|
81
|
+
attr_reader percent_codes: Array[PercentCode]
|
|
82
|
+
|
|
83
|
+
attr_reader eof_symbol: Grammar::Symbol
|
|
84
|
+
|
|
85
|
+
attr_reader error_symbol: Grammar::Symbol
|
|
86
|
+
|
|
87
|
+
attr_reader undef_symbol: Grammar::Symbol
|
|
88
|
+
|
|
89
|
+
attr_reader accept_symbol: Grammar::Symbol
|
|
90
|
+
|
|
91
|
+
attr_reader aux: Auxiliary
|
|
92
|
+
|
|
93
|
+
attr_reader parameterized_resolver: Parameterized::Resolver
|
|
94
|
+
|
|
95
|
+
attr_reader precedences: Array[Precedence]
|
|
96
|
+
|
|
97
|
+
attr_accessor union: Union
|
|
98
|
+
|
|
99
|
+
attr_accessor expect: Integer
|
|
100
|
+
|
|
101
|
+
attr_accessor printers: Array[Printer]
|
|
102
|
+
|
|
103
|
+
attr_accessor error_tokens: Array[ErrorToken]
|
|
104
|
+
|
|
105
|
+
attr_accessor lex_param: String
|
|
106
|
+
|
|
107
|
+
attr_accessor parse_param: String
|
|
108
|
+
|
|
109
|
+
attr_accessor initial_action: Grammar::Code::InitialActionCode
|
|
110
|
+
|
|
111
|
+
attr_accessor after_shift: Lexer::Token::Base
|
|
112
|
+
|
|
113
|
+
attr_accessor before_reduce: Lexer::Token::Base
|
|
114
|
+
|
|
115
|
+
attr_accessor after_reduce: Lexer::Token::Base
|
|
116
|
+
|
|
117
|
+
attr_accessor after_shift_error_token: Lexer::Token::Base
|
|
118
|
+
|
|
119
|
+
attr_accessor after_pop_stack: Lexer::Token::Base
|
|
120
|
+
|
|
121
|
+
attr_accessor symbols_resolver: Symbols::Resolver
|
|
122
|
+
|
|
123
|
+
attr_accessor types: Array[Type]
|
|
124
|
+
|
|
125
|
+
attr_accessor rules: Array[Rule]
|
|
126
|
+
|
|
127
|
+
attr_accessor rule_builders: Array[RuleBuilder]
|
|
128
|
+
|
|
129
|
+
attr_accessor sym_to_rules: Hash[Integer, Array[Rule]]
|
|
130
|
+
|
|
131
|
+
attr_accessor no_stdlib: bool
|
|
132
|
+
|
|
133
|
+
attr_accessor locations: bool
|
|
134
|
+
|
|
135
|
+
attr_accessor define: Hash[String, String]
|
|
136
|
+
|
|
137
|
+
attr_accessor required: bool
|
|
138
|
+
|
|
139
|
+
# @rbs (Counter rule_counter, bool locations, Hash[String, String] define) -> void
|
|
140
|
+
def initialize: (Counter rule_counter, bool locations, Hash[String, String] define) -> void
|
|
141
|
+
|
|
142
|
+
# @rbs (Counter rule_counter, Counter midrule_action_counter) -> RuleBuilder
|
|
143
|
+
def create_rule_builder: (Counter rule_counter, Counter midrule_action_counter) -> RuleBuilder
|
|
144
|
+
|
|
145
|
+
# @rbs (id: Lexer::Token::Base, code: Lexer::Token::UserCode) -> Array[PercentCode]
|
|
146
|
+
def add_percent_code: (id: Lexer::Token::Base, code: Lexer::Token::UserCode) -> Array[PercentCode]
|
|
147
|
+
|
|
148
|
+
# @rbs (ident_or_tags: Array[Lexer::Token::Ident|Lexer::Token::Tag], token_code: Lexer::Token::UserCode, lineno: Integer) -> Array[Destructor]
|
|
149
|
+
def add_destructor: (ident_or_tags: Array[Lexer::Token::Ident | Lexer::Token::Tag], token_code: Lexer::Token::UserCode, lineno: Integer) -> Array[Destructor]
|
|
150
|
+
|
|
151
|
+
# @rbs (ident_or_tags: Array[Lexer::Token::Ident|Lexer::Token::Tag], token_code: Lexer::Token::UserCode, lineno: Integer) -> Array[Printer]
|
|
152
|
+
def add_printer: (ident_or_tags: Array[Lexer::Token::Ident | Lexer::Token::Tag], token_code: Lexer::Token::UserCode, lineno: Integer) -> Array[Printer]
|
|
153
|
+
|
|
154
|
+
# @rbs (ident_or_tags: Array[Lexer::Token::Ident|Lexer::Token::Tag], token_code: Lexer::Token::UserCode, lineno: Integer) -> Array[ErrorToken]
|
|
155
|
+
def add_error_token: (ident_or_tags: Array[Lexer::Token::Ident | Lexer::Token::Tag], token_code: Lexer::Token::UserCode, lineno: Integer) -> Array[ErrorToken]
|
|
156
|
+
|
|
157
|
+
# @rbs (id: Lexer::Token::Base, tag: Lexer::Token::Tag) -> Array[Type]
|
|
158
|
+
def add_type: (id: Lexer::Token::Base, tag: Lexer::Token::Tag) -> Array[Type]
|
|
159
|
+
|
|
160
|
+
# @rbs (Grammar::Symbol sym, Integer precedence, String s_value, Integer lineno) -> Precedence
|
|
161
|
+
def add_nonassoc: (Grammar::Symbol sym, Integer precedence, String s_value, Integer lineno) -> Precedence
|
|
162
|
+
|
|
163
|
+
# @rbs (Grammar::Symbol sym, Integer precedence, String s_value, Integer lineno) -> Precedence
|
|
164
|
+
def add_left: (Grammar::Symbol sym, Integer precedence, String s_value, Integer lineno) -> Precedence
|
|
165
|
+
|
|
166
|
+
# @rbs (Grammar::Symbol sym, Integer precedence, String s_value, Integer lineno) -> Precedence
|
|
167
|
+
def add_right: (Grammar::Symbol sym, Integer precedence, String s_value, Integer lineno) -> Precedence
|
|
168
|
+
|
|
169
|
+
# @rbs (Grammar::Symbol sym, Integer precedence, String s_value, Integer lineno) -> Precedence
|
|
170
|
+
def add_precedence: (Grammar::Symbol sym, Integer precedence, String s_value, Integer lineno) -> Precedence
|
|
171
|
+
|
|
172
|
+
# @rbs (Lrama::Lexer::Token::Base id) -> Lrama::Lexer::Token::Base
|
|
173
|
+
def set_start_nterm: (Lrama::Lexer::Token::Base id) -> Lrama::Lexer::Token::Base
|
|
174
|
+
|
|
175
|
+
# @rbs (Grammar::Symbol sym, Precedence precedence) -> (Precedence | bot)
|
|
176
|
+
def set_precedence: (Grammar::Symbol sym, Precedence precedence) -> (Precedence | bot)
|
|
177
|
+
|
|
178
|
+
# @rbs (Grammar::Code::NoReferenceCode code, Integer lineno) -> Union
|
|
179
|
+
def set_union: (Grammar::Code::NoReferenceCode code, Integer lineno) -> Union
|
|
180
|
+
|
|
181
|
+
# @rbs (RuleBuilder builder) -> Array[RuleBuilder]
|
|
182
|
+
def add_rule_builder: (RuleBuilder builder) -> Array[RuleBuilder]
|
|
183
|
+
|
|
184
|
+
# @rbs (Parameterized::Rule rule) -> Array[Parameterized::Rule]
|
|
185
|
+
def add_parameterized_rule: (Parameterized::Rule rule) -> Array[Parameterized::Rule]
|
|
186
|
+
|
|
187
|
+
# @rbs () -> Array[Parameterized::Rule]
|
|
188
|
+
def parameterized_rules: () -> Array[Parameterized::Rule]
|
|
189
|
+
|
|
190
|
+
# @rbs (Array[Parameterized::Rule] rules) -> Array[Parameterized::Rule]
|
|
191
|
+
def prepend_parameterized_rules: (Array[Parameterized::Rule] rules) -> Array[Parameterized::Rule]
|
|
192
|
+
|
|
193
|
+
# @rbs (Integer prologue_first_lineno) -> Integer
|
|
194
|
+
def prologue_first_lineno=: (Integer prologue_first_lineno) -> Integer
|
|
195
|
+
|
|
196
|
+
# @rbs (String prologue) -> String
|
|
197
|
+
def prologue=: (String prologue) -> String
|
|
198
|
+
|
|
199
|
+
# @rbs (Integer epilogue_first_lineno) -> Integer
|
|
200
|
+
def epilogue_first_lineno=: (Integer epilogue_first_lineno) -> Integer
|
|
201
|
+
|
|
202
|
+
# @rbs (String epilogue) -> String
|
|
203
|
+
def epilogue=: (String epilogue) -> String
|
|
204
|
+
|
|
205
|
+
# @rbs () -> void
|
|
206
|
+
def prepare: () -> void
|
|
207
|
+
|
|
208
|
+
# TODO: More validation methods
|
|
209
|
+
#
|
|
210
|
+
# * Validation for no_declared_type_reference
|
|
211
|
+
#
|
|
212
|
+
# @rbs () -> void
|
|
213
|
+
def validate!: () -> void
|
|
214
|
+
|
|
215
|
+
# @rbs (Grammar::Symbol sym) -> Array[Rule]
|
|
216
|
+
def find_rules_by_symbol!: (Grammar::Symbol sym) -> Array[Rule]
|
|
217
|
+
|
|
218
|
+
# @rbs (Grammar::Symbol sym) -> Array[Rule]?
|
|
219
|
+
def find_rules_by_symbol: (Grammar::Symbol sym) -> Array[Rule]?
|
|
220
|
+
|
|
221
|
+
# @rbs (String s_value) -> Array[Rule]
|
|
222
|
+
def select_rules_by_s_value: (String s_value) -> Array[Rule]
|
|
223
|
+
|
|
224
|
+
# @rbs () -> Array[String]
|
|
225
|
+
def unique_rule_s_values: () -> Array[String]
|
|
226
|
+
|
|
227
|
+
# @rbs () -> bool
|
|
228
|
+
def ielr_defined?: () -> bool
|
|
229
|
+
|
|
230
|
+
private
|
|
231
|
+
|
|
232
|
+
# @rbs () -> void
|
|
233
|
+
def sort_precedence: () -> void
|
|
234
|
+
|
|
235
|
+
# @rbs () -> Array[Grammar::Symbol]
|
|
236
|
+
def compute_nullable: () -> Array[Grammar::Symbol]
|
|
237
|
+
|
|
238
|
+
# @rbs () -> Array[Grammar::Symbol]
|
|
239
|
+
def compute_first_set: () -> Array[Grammar::Symbol]
|
|
240
|
+
|
|
241
|
+
# @rbs () -> Array[RuleBuilder]
|
|
242
|
+
def setup_rules: () -> Array[RuleBuilder]
|
|
243
|
+
|
|
244
|
+
# @rbs () -> Grammar::Symbol
|
|
245
|
+
def append_special_symbols: () -> Grammar::Symbol
|
|
246
|
+
|
|
247
|
+
# @rbs () -> void
|
|
248
|
+
def resolve_inline_rules: () -> void
|
|
249
|
+
|
|
250
|
+
# @rbs () -> void
|
|
251
|
+
def normalize_rules: () -> void
|
|
252
|
+
|
|
253
|
+
# Add $accept rule to the top of rules
|
|
254
|
+
def add_accept_rule: () -> untyped
|
|
255
|
+
|
|
256
|
+
# Collect symbols from rules
|
|
257
|
+
#
|
|
258
|
+
# @rbs () -> void
|
|
259
|
+
def collect_symbols: () -> void
|
|
260
|
+
|
|
261
|
+
# @rbs () -> void
|
|
262
|
+
def set_lhs_and_rhs: () -> void
|
|
263
|
+
|
|
264
|
+
# Rule inherits precedence from the last term in RHS.
|
|
265
|
+
#
|
|
266
|
+
# https://www.gnu.org/software/bison/manual/html_node/How-Precedence.html
|
|
267
|
+
#
|
|
268
|
+
# @rbs () -> void
|
|
269
|
+
def fill_default_precedence: () -> void
|
|
270
|
+
|
|
271
|
+
# @rbs () -> Array[Grammar::Symbol]
|
|
272
|
+
def fill_symbols: () -> Array[Grammar::Symbol]
|
|
273
|
+
|
|
274
|
+
# @rbs () -> Array[Rule]
|
|
275
|
+
def fill_sym_to_rules: () -> Array[Rule]
|
|
276
|
+
|
|
277
|
+
# @rbs () -> void
|
|
278
|
+
def validate_no_precedence_for_nterm!: () -> void
|
|
279
|
+
|
|
280
|
+
# @rbs () -> void
|
|
281
|
+
def validate_rule_lhs_is_nterm!: () -> void
|
|
282
|
+
|
|
283
|
+
# # @rbs () -> void
|
|
284
|
+
def validate_duplicated_precedence!: () -> untyped
|
|
285
|
+
|
|
286
|
+
# @rbs () -> void
|
|
287
|
+
def set_locations: () -> void
|
|
288
|
+
end
|
|
289
|
+
end
|
|
@@ -29,7 +29,7 @@ module Lrama
|
|
|
29
29
|
def generate_error_message: (String error_message) -> String
|
|
30
30
|
|
|
31
31
|
# @rbs () -> String
|
|
32
|
-
def
|
|
32
|
+
def error_with_carets: () -> String
|
|
33
33
|
|
|
34
34
|
private
|
|
35
35
|
|
|
@@ -37,10 +37,19 @@ module Lrama
|
|
|
37
37
|
def path: () -> String
|
|
38
38
|
|
|
39
39
|
# @rbs () -> String
|
|
40
|
-
def
|
|
40
|
+
def carets_line: () -> String
|
|
41
41
|
|
|
42
42
|
# @rbs () -> String
|
|
43
|
-
def
|
|
43
|
+
def leading_whitespace: () -> String
|
|
44
|
+
|
|
45
|
+
# @rbs () -> String
|
|
46
|
+
def highlight_marker: () -> String
|
|
47
|
+
|
|
48
|
+
# @rbs () -> String
|
|
49
|
+
def formatted_first_lineno: () -> String
|
|
50
|
+
|
|
51
|
+
# @rbs () -> String
|
|
52
|
+
def line_number_padding: () -> String
|
|
44
53
|
|
|
45
54
|
# @rbs () -> String
|
|
46
55
|
def text: () -> String
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Generated from lib/lrama/lexer/token/base.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Lrama
|
|
4
|
+
class Lexer
|
|
5
|
+
module Token
|
|
6
|
+
class Base
|
|
7
|
+
attr_reader s_value: String
|
|
8
|
+
|
|
9
|
+
attr_reader location: Location
|
|
10
|
+
|
|
11
|
+
attr_accessor alias_name: String
|
|
12
|
+
|
|
13
|
+
attr_accessor referred: bool
|
|
14
|
+
|
|
15
|
+
attr_reader errors: Array[String]
|
|
16
|
+
|
|
17
|
+
# @rbs (s_value: String, ?alias_name: String, ?location: Location) -> void
|
|
18
|
+
def initialize: (s_value: String, ?alias_name: String, ?location: Location) -> void
|
|
19
|
+
|
|
20
|
+
# @rbs () -> String
|
|
21
|
+
def to_s: () -> String
|
|
22
|
+
|
|
23
|
+
# @rbs (String string) -> bool
|
|
24
|
+
def referred_by?: (String string) -> bool
|
|
25
|
+
|
|
26
|
+
# @rbs (Lexer::Token::Base other) -> bool
|
|
27
|
+
def ==: (Lexer::Token::Base other) -> bool
|
|
28
|
+
|
|
29
|
+
# @rbs () -> Integer
|
|
30
|
+
def first_line: () -> Integer
|
|
31
|
+
|
|
32
|
+
alias line first_line
|
|
33
|
+
|
|
34
|
+
# @rbs () -> Integer
|
|
35
|
+
def first_column: () -> Integer
|
|
36
|
+
|
|
37
|
+
alias column first_column
|
|
38
|
+
|
|
39
|
+
# @rbs () -> Integer
|
|
40
|
+
def last_line: () -> Integer
|
|
41
|
+
|
|
42
|
+
# @rbs () -> Integer
|
|
43
|
+
def last_column: () -> Integer
|
|
44
|
+
|
|
45
|
+
# @rbs (Lrama::Grammar::Reference ref, String message) -> bot
|
|
46
|
+
def invalid_ref: (Lrama::Grammar::Reference ref, String message) -> bot
|
|
47
|
+
|
|
48
|
+
# @rbs () -> bool
|
|
49
|
+
def validate: () -> bool
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
@@ -2,8 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
module Lrama
|
|
4
4
|
class Lexer
|
|
5
|
-
|
|
6
|
-
class Char <
|
|
5
|
+
module Token
|
|
6
|
+
class Char < Base
|
|
7
|
+
# @rbs () -> void
|
|
8
|
+
def validate: () -> void
|
|
9
|
+
|
|
10
|
+
private
|
|
11
|
+
|
|
12
|
+
# @rbs () -> void
|
|
13
|
+
def validate_ascii_code_range: () -> void
|
|
7
14
|
end
|
|
8
15
|
end
|
|
9
16
|
end
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
module Lrama
|
|
4
4
|
class Lexer
|
|
5
|
-
|
|
6
|
-
class InstantiateRule <
|
|
7
|
-
attr_reader args: Array[Lexer::Token]
|
|
5
|
+
module Token
|
|
6
|
+
class InstantiateRule < Base
|
|
7
|
+
attr_reader args: Array[Lexer::Token::Base]
|
|
8
8
|
|
|
9
9
|
attr_reader lhs_tag: Lexer::Token::Tag?
|
|
10
10
|
|
|
11
|
-
# @rbs (s_value: String, ?alias_name: String, ?location: Location, ?args: Array[Lexer::Token], ?lhs_tag: Lexer::Token::Tag?) -> void
|
|
12
|
-
def initialize: (s_value: String, ?alias_name: String, ?location: Location, ?args: Array[Lexer::Token], ?lhs_tag: Lexer::Token::Tag?) -> void
|
|
11
|
+
# @rbs (s_value: String, ?alias_name: String, ?location: Location, ?args: Array[Lexer::Token::Base], ?lhs_tag: Lexer::Token::Tag?) -> void
|
|
12
|
+
def initialize: (s_value: String, ?alias_name: String, ?location: Location, ?args: Array[Lexer::Token::Base], ?lhs_tag: Lexer::Token::Tag?) -> void
|
|
13
13
|
|
|
14
14
|
# @rbs () -> String
|
|
15
15
|
def rule_name: () -> String
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Generated from lib/lrama/lexer/token/int.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Lrama
|
|
4
|
+
class Lexer
|
|
5
|
+
module Token
|
|
6
|
+
class Int < Base
|
|
7
|
+
def initialize: (s_value: Integer, ?alias_name: String, ?location: Location) -> void
|
|
8
|
+
|
|
9
|
+
def s_value: () -> Integer
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|