Class ProfilingParseRunner<V>

  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


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

rule - the parser rule
Method Detail


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>
inputBuffer - the inputBuffer to use
the ParsingResult for the run


public ProfilingParseRunner.Report getReport()


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

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