Class: Lrama::Reporter
- Inherits:
-
Object
- Object
- Lrama::Reporter
- Includes:
- Tracer::Duration
- Defined in:
- lib/lrama/reporter.rb,
lib/lrama/reporter/rules.rb,
lib/lrama/reporter/terms.rb,
lib/lrama/reporter/states.rb,
lib/lrama/reporter/grammar.rb,
lib/lrama/reporter/conflicts.rb,
lib/lrama/reporter/precedences.rb,
lib/lrama/reporter/profile/memory.rb,
lib/lrama/reporter/profile/call_stack.rb
Defined Under Namespace
Modules: Profile Classes: Conflicts, Grammar, Precedences, Rules, States, Terms
Instance Method Summary collapse
-
#initialize(**options) ⇒ Reporter
constructor
A new instance of Reporter.
- #report(io, states) ⇒ Object
Methods included from Tracer::Duration
enable, enabled?, #report_duration
Constructor Details
#initialize(**options) ⇒ Reporter
Returns a new instance of Reporter.
17 18 19 20 21 22 23 24 25 |
# File 'lib/lrama/reporter.rb', line 17 def initialize(**) @options = @rules = Rules.new(**) @terms = Terms.new(**) @conflicts = Conflicts.new @precedences = Precedences.new @grammar = Grammar.new(**) @states = States.new(**) end |
Instance Method Details
#report(io, states) ⇒ Object
28 29 30 31 32 33 34 35 36 37 |
# File 'lib/lrama/reporter.rb', line 28 def report(io, states) report_duration(:report) do report_duration(:report_rules) { @rules.report(io, states) } report_duration(:report_terms) { @terms.report(io, states) } report_duration(:report_conflicts) { @conflicts.report(io, states) } report_duration(:report_precedences) { @precedences.report(io, states) } report_duration(:report_grammar) { @grammar.report(io, states) } report_duration(:report_states) { @states.report(io, states, ielr: states.ielr_defined?) } end end |