Class: Lrama::Grammar::Inline::Resolver
- Inherits:
-
Object
- Object
- Lrama::Grammar::Inline::Resolver
- Defined in:
- lib/lrama/grammar/inline/resolver.rb
Instance Method Summary collapse
-
#initialize(rule_builder) ⇒ Resolver
constructor
A new instance of Resolver.
- #resolve ⇒ Object
Constructor Details
#initialize(rule_builder) ⇒ Resolver
Returns a new instance of Resolver.
9 10 11 |
# File 'lib/lrama/grammar/inline/resolver.rb', line 9 def initialize(rule_builder) @rule_builder = rule_builder end |
Instance Method Details
#resolve ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/lrama/grammar/inline/resolver.rb', line 14 def resolve resolved_builders = [] #: Array[Lrama::Grammar::RuleBuilder] @rule_builder.rhs.each_with_index do |token, i| if (rule = @rule_builder.parameterized_resolver.find_inline(token)) rule.rhs.each do |rhs| builder = build_rule(rhs, token, i, rule) resolved_builders << builder end break end end resolved_builders end |