org.parboiled.parserunners
Class ProfilingParseRunner<V>

java.lang.Object
  extended by org.parboiled.parserunners.AbstractParseRunner<V>
      extended by org.parboiled.parserunners.ProfilingParseRunner<V>
Type Parameters:
V -
All Implemented Interfaces:
MatchHandler, ParseRunner<V>

public class ProfilingParseRunner<V>
extends AbstractParseRunner<V>
implements MatchHandler

The ProfilingParseRunner is a special ParseRunner implementation that "watches" a parser digest a number of inputs and collects all sorts of statistical data on the what rules have matched how many times, the number of reincovations of rules at identical input locations, and so on.

The ProfilingParseRunner is typically used during parser debugging and optimization, not in production.


Nested Class Summary
static class ProfilingParseRunner.Report
           
static class ProfilingParseRunner.RuleReport
           
 
Constructor Summary
ProfilingParseRunner(Rule rule)
          Creates a new ProfilingParseRunner instance for the given rule.
 
Method Summary
 ProfilingParseRunner.Report getReport()
           
 boolean match(MatcherContext<?> context)
          Runs the given MatcherContext.
 ParsingResult<V> run(InputBuffer inputBuffer)
          Performs the actual parse and creates a corresponding ParsingResult instance.
 
Methods inherited from class org.parboiled.parserunners.AbstractParseRunner
getParseErrors, getRootMatcher, getValueStack, run, run, withParseErrors, withValueStack
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ProfilingParseRunner

public ProfilingParseRunner(Rule rule)
Creates a new ProfilingParseRunner instance for the given rule.

Parameters:
rule - the parser rule
Method Detail

run

public ParsingResult<V> run(InputBuffer inputBuffer)
Description copied from interface: ParseRunner
Performs the actual parse and creates a corresponding ParsingResult instance.

Specified by:
run in interface ParseRunner<V>
Parameters:
inputBuffer - the inputBuffer to use
Returns:
the ParsingResult for the run

getReport

public ProfilingParseRunner.Report getReport()

match

public boolean match(MatcherContext<?> context)
Description copied from interface: MatchHandler
Runs the given MatcherContext.

Specified by:
match in interface MatchHandler
Parameters:
context - the MatcherContext
Returns:
true if matched