org.parboiled.parserunners
Class ReportingParseRunner<V>

java.lang.Object
  extended by org.parboiled.parserunners.AbstractParseRunner<V>
      extended by org.parboiled.parserunners.ReportingParseRunner<V>
All Implemented Interfaces:
ParseRunner<V>
Direct Known Subclasses:
TracingParseRunner

public class ReportingParseRunner<V>
extends AbstractParseRunner<V>

A ParseRunner implementation that properly reports the first InvalidInputError if the input does not conform to the rule grammar. It performs exactly as the BasicParseRunner on valid input, however, on invalid input two more parsing runs are initiated: one for recording the first parse error and one for collecting the error report information.


Constructor Summary
ReportingParseRunner(Rule rule)
          Creates a new ReportingParseRunner instance for the given rule.
 
Method Summary
 ParsingResult<V> run(InputBuffer inputBuffer)
          Performs the actual parse and creates a corresponding ParsingResult instance.
static
<V> ParsingResult<V>
run(Rule rule, java.lang.String input)
          Deprecated. As of 0.11.0 you should use the "regular" constructor and one of the "run" methods rather than this static method. This method will be removed in one of the coming releases.
 
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

ReportingParseRunner

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

Parameters:
rule - the parser rule
Method Detail

run

@Deprecated
public static <V> ParsingResult<V> run(Rule rule,
                                                  java.lang.String input)
Deprecated. As of 0.11.0 you should use the "regular" constructor and one of the "run" methods rather than this static method. This method will be removed in one of the coming releases.

Create a new ReportingParseRunner instance with the given rule and input text and returns the result of its AbstractParseRunner.run(String) method invocation.

Parameters:
rule - the parser rule to run
input - the input text to run on
Returns:
the ParsingResult for the parsing run

run

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

Parameters:
inputBuffer - the inputBuffer to use
Returns:
the ParsingResult for the run