Class: Lrama::Tracer::OnlyExplicitRules

Inherits:
Object
  • Object
show all
Defined in:
lib/lrama/tracer/only_explicit_rules.rb

Instance Method Summary collapse

Constructor Details

#initialize(io, only_explicit: false, **_) ⇒ OnlyExplicitRules

Returns a new instance of OnlyExplicitRules.



8
9
10
11
# File 'lib/lrama/tracer/only_explicit_rules.rb', line 8

def initialize(io, only_explicit: false, **_)
  @io = io
  @only_explicit = only_explicit
end

Instance Method Details

#trace(grammar) ⇒ Object



14
15
16
17
18
19
20
21
# File 'lib/lrama/tracer/only_explicit_rules.rb', line 14

def trace(grammar)
  return unless @only_explicit

  @io << "Grammar rules:" << "\n"
  grammar.rules.each do |rule|
    @io << rule.display_name_without_action << "\n" if rule.lhs.first_set.any?
  end
end