org.parboiled.parserunners
Class ErrorLocatingParseRunner<V>

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

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

A ParseRunner implementation that creates a simple BasicParseError for the first error found in the input and adds it to the list of ParseErrors. It never causes the parser to perform more than one parsing run and is rarely used directly. Instead its functionality is relied upon by the ReportingParseRunner and RecoveringParseRunner classes.


Constructor Summary
ErrorLocatingParseRunner(Rule rule)
          Creates a new ErrorLocatingParseRunner instance for the given rule.
ErrorLocatingParseRunner(Rule rule, MatchHandler inner)
          Creates a new ErrorLocatingParseRunner instance for the given rule.
 
Method Summary
 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

ErrorLocatingParseRunner

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

Parameters:
rule - the parser rule

ErrorLocatingParseRunner

public ErrorLocatingParseRunner(Rule rule,
                                MatchHandler inner)
Creates a new ErrorLocatingParseRunner instance for the given rule. The given MatchHandler is used as a delegate for the actual match handling.

Parameters:
rule - the parser rule
inner - another MatchHandler to delegate the actual match handling to, can be null
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

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