Class PositionAssertion
java.lang.Object
com.oracle.truffle.regex.tregex.parser.ast.RegexASTNode
com.oracle.truffle.regex.tregex.parser.ast.Term
com.oracle.truffle.regex.tregex.parser.ast.PositionAssertion
- All Implemented Interfaces:
AbstractState<Term,,ASTTransition> JsonConvertible
An assertion that succeeds when encountered at the beginning or at the end of the string we are
searching in.
Corresponds to the ^ and $ right-hand sides of the Assertion goal symbol in the ECMAScript RegExp syntax.
PositionAssertion nodes are also used for state sets of NFA initial states, which is why
they can have a next-pointer (getNext()), see
RegexAST.getNFAAnchoredInitialState(int).
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumThe position assertions supported by ECMAScript RegExps. -
Field Summary
FieldsModifier and TypeFieldDescriptionfinal PositionAssertion.TypeIndicates which position assertion this node represents. -
Method Summary
Modifier and TypeMethodDescriptionCopy this node only, without any child nodes.copyRecursive(RegexAST ast, CompilationBuffer compilationBuffer) Recursively copy this subtree.booleangetNext()Points to the body of a regular expression when this node is treated as an initial state of an NFA.booleanisCaret()booleanisDollar()voidsetNext(RegexASTNode next) toJson()toString()Methods inherited from class com.oracle.truffle.regex.tregex.parser.ast.Term
getSeqIndex, getSubTreeParent, setSeqIndexMethods inherited from class com.oracle.truffle.regex.tregex.parser.ast.RegexASTNode
asAtomicGroup, asBackReference, asCharacterClass, asConditionalBackReferenceGroup, asGroup, asLookAheadAssertion, asLookAroundAssertion, asLookBehindAssertion, asMatchFound, asPositionAssertion, asQuantifiableTerm, asSequence, asSubexpressionCall, asSubtreeRootNode, astNodeId, endsWithDollar, getFlags, getId, getMaxPath, getMinPath, getParent, getPrefixLengthMax, getPrefixLengthMin, hasBackReferences, hasCaptureGroups, hasCaret, hasDollar, hasEmptyGuard, hasLookAheads, hasLookBehinds, hasLoops, hasQuantifiers, hasVariablePrefixLength, idInitialized, incMaxPath, incMaxPath, incMinPath, incMinPath, isAtomicGroup, isBackReference, isCharacterClass, isConditionalBackReferenceGroup, isDead, isExpandedQuantifier, isFlagSet, isGroup, isGroupWithGuards, isInLookAheadAssertion, isInLookBehindAssertion, isLookAheadAssertion, isLookAroundAssertion, isLookBehindAssertion, isMandatoryUnrolledQuantifier, isMatchFound, isPositionAssertion, isPrefix, isQuantifiableTerm, isQuantifierPassThroughSequence, isRoot, isSequence, isSubexpressionCall, isSubtreeRoot, markAsDead, setDead, setEmptyGuard, setEndsWithDollar, setEndsWithDollar, setExpandedQuantifier, setFlag, setFlag, setFlags, setHasBackReferences, setHasCaptureGroups, setHasCaret, setHasCaret, setHasDollar, setHasDollar, setHasLookAheads, setHasLookBehinds, setHasLoops, setHasLoops, setHasQuantifiers, setId, setMandatoryUnrolledQuantifier, setMaxPath, setMinPath, setParent, setPrefix, setPrefixLengthMax, setPrefixLengthMin, setQuantifierPassThroughSequence, setStartsWithCaret, setStartsWithCaret, startsWithCaret, toJson, toStringWithIDMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.oracle.truffle.regex.tregex.automaton.AbstractState
getId
-
Field Details
-
type
Indicates which position assertion this node represents.
-
-
Method Details
-
copy
Description copied from class:RegexASTNodeCopy this node only, without any child nodes. The ID and minPath of the copied nodes is left unset. -
copyRecursive
Description copied from class:RegexASTNodeRecursively copy this subtree. This method should be used instead ofCopyVisitorif the copying process is required to be thread-safe. The ID and minPath of the copied nodes is left unset.- Specified by:
copyRecursivein classTerm- Parameters:
ast- RegexAST the new nodes should belong to.- Returns:
- A deep copy of this node.
-
getNext
Points to the body of a regular expression when this node is treated as an initial state of an NFA. If thisisCaret(), then this returns the next expression. If thisisDollar(), then this returns the previous expression. -
setNext
-
isCaret
public boolean isCaret()- Overrides:
isCaretin classRegexASTNode
-
isDollar
public boolean isDollar()- Overrides:
isDollarin classRegexASTNode
-
equalsSemantic
- Specified by:
equalsSemanticin classRegexASTNode
-
toString
-
toJson
-