Class: Lrama::Tracer::Rules

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

Instance Method Summary collapse

Constructor Details

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

Returns a new instance of Rules.



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

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

Instance Method Details

#trace(grammar) ⇒ Object



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

def trace(grammar)
  return if !@rules || @only_explicit

  @io << "Grammar rules:" << "\n"
  grammar.rules.each { |rule| @io << rule.display_name << "\n" }
end