Package org.parboiled.support
Class MatcherPath
java.lang.Object
org.parboiled.support.MatcherPath
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.-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionMatcherPath
(MatcherPath.Element element, MatcherPath parent) Constructs a new MatcherPath wrapping the given elements. -
Method Summary
Modifier and TypeMethodDescriptioncommonPrefix
(MatcherPath that) Returns the common prefix of this MatcherPath and the given other one.boolean
Determines whether the given matcher is contained in this path.getElementAtLevel
(int level) Returns the Element at the given level.boolean
isPrefixOf
(MatcherPath that) Determines whether this path is a prefix of the given other path.int
length()
toString()
toString
(MatcherPath skipPrefix)
-
Field Details
-
element
-
parent
-
-
Constructor Details
-
MatcherPath
Constructs a new MatcherPath wrapping the given elements. Normally you don't construct a MatcherPath directly but rather callContext.getPath()
to get one.- Parameters:
element
- the last element of this pathparent
- 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
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
Returns the Element at the given level.- Parameters:
level
- the level to get the element from- Returns:
- the element
-
commonPrefix
Returns the common prefix of this MatcherPath and the given other one.- Parameters:
that
- the other path- Returns:
- the common prefix or null
-
contains
Determines whether the given matcher is contained in this path.- Parameters:
matcher
- the matcher- Returns:
- true if contained
-
toString
-
toString
-