Class: Lrama::Tracer
- Inherits:
-
Object
show all
- Defined in:
- lib/lrama/tracer.rb,
lib/lrama/tracer/rules.rb,
lib/lrama/tracer/state.rb,
lib/lrama/tracer/actions.rb,
lib/lrama/tracer/closure.rb,
lib/lrama/tracer/duration.rb,
lib/lrama/tracer/only_explicit_rules.rb
Defined Under Namespace
Modules: Duration
Classes: Actions, Closure, OnlyExplicitRules, Rules, State
Instance Method Summary
collapse
Constructor Details
#initialize(io, **options) ⇒ Tracer
Returns a new instance of Tracer.
14
15
16
17
18
19
20
21
22
|
# File 'lib/lrama/tracer.rb', line 14
def initialize(io, **options)
@io = io
@options = options
@only_explicit_rules = OnlyExplicitRules.new(io, **options)
@rules = Rules.new(io, **options)
@actions = Actions.new(io, **options)
@closure = Closure.new(io, **options)
@state = State.new(io, **options)
end
|
Instance Method Details
#enable_duration ⇒ Object
47
48
49
|
# File 'lib/lrama/tracer.rb', line 47
def enable_duration
Duration.enable if @options[:time]
end
|
#trace(grammar) ⇒ Object
25
26
27
28
29
|
# File 'lib/lrama/tracer.rb', line 25
def trace(grammar)
@only_explicit_rules.trace(grammar)
@rules.trace(grammar)
@actions.trace(grammar)
end
|
#trace_closure(state) ⇒ Object
32
33
34
|
# File 'lib/lrama/tracer.rb', line 32
def trace_closure(state)
@closure.trace(state)
end
|
#trace_state(state) ⇒ Object
37
38
39
|
# File 'lib/lrama/tracer.rb', line 37
def trace_state(state)
@state.trace(state)
end
|
#trace_state_list_append(state_count, state) ⇒ Object
42
43
44
|
# File 'lib/lrama/tracer.rb', line 42
def trace_state_list_append(state_count, state)
@state.trace_list_append(state_count, state)
end
|