Class MatcherPath

java.lang.Object
org.parboiled.support.MatcherPath

public class MatcherPath extends Object
Holds a snapshot of the current Matcher stack at a certain point during the parsing process. Implemented as a specialized, immutable single-linked list of Element objects with the deepest stack Element in the first position and the root at the end.
  • Field Details

  • Constructor Details

    • MatcherPath

      public MatcherPath(MatcherPath.Element element, MatcherPath parent)
      Constructs a new MatcherPath wrapping the given elements. Normally you don't construct a MatcherPath directly but rather call Context.getPath() to get one.
      Parameters:
      element - the last element of this path
      parent - the parent path
  • Method Details

    • length

      public int length()
      Returns:
      the length of this path, i.e. the number of matchers contained in it
    • isPrefixOf

      public boolean isPrefixOf(MatcherPath that)
      Determines whether this path is a prefix of the given other path.
      Parameters:
      that - the other path
      Returns:
      true if this path is a prefix of the given other path
    • getElementAtLevel

      public MatcherPath.Element getElementAtLevel(int level)
      Returns the Element at the given level.
      Parameters:
      level - the level to get the element from
      Returns:
      the element
    • commonPrefix

      public MatcherPath commonPrefix(MatcherPath that)
      Returns the common prefix of this MatcherPath and the given other one.
      Parameters:
      that - the other path
      Returns:
      the common prefix or null
    • contains

      public boolean contains(Matcher matcher)
      Determines whether the given matcher is contained in this path.
      Parameters:
      matcher - the matcher
      Returns:
      true if contained
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • toString

      public String toString(MatcherPath skipPrefix)