Class LookBehindAssertion
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.RegexASTSubtreeRootNode
com.oracle.truffle.regex.tregex.parser.ast.LookAroundAssertion
com.oracle.truffle.regex.tregex.parser.ast.LookBehindAssertion
- All Implemented Interfaces:
AbstractState<Term,,ASTTransition> RegexASTVisitorIterable,JsonConvertible
An assertion that succeeds depending on whether or not text preceding the current position
matches a given regular expression.
Corresponds to the ( ? <= Disjunction ) and ( ? <! Disjunction ) right-hand sides of the Assertion goal symbol in the ECMAScript RegExp syntax.
Currently, the fragment of regular expressions that TRegex supports in lookbehind assertions is
limited to so-called "literal" regular expressions, consisting only of concatenations and
character classes (which generalize literal characters). The method LookAroundAssertion.isLiteral() verifies
whether the body of the assertion (RegexASTSubtreeRootNode.getGroup()) is of this form.
-
Method Summary
Modifier and TypeMethodDescriptionCopy this node only, without any child nodes.copyRecursive(RegexAST ast, CompilationBuffer compilationBuffer) Recursively copy this subtree.booleantoJson()Methods inherited from class com.oracle.truffle.regex.tregex.parser.ast.LookAroundAssertion
endsWithCharClass, getLiteralLength, isLiteral, isNegated, isSingleCCNonCapturingLiteral, setNegated, startsWithCharClassMethods inherited from class com.oracle.truffle.regex.tregex.parser.ast.RegexASTSubtreeRootNode
getAnchoredFinalState, getAnchoredInitialState, getGlobalSubTreeId, getGroup, getMatchFound, getSubTreeId, getSubtrees, getUnAnchoredInitialState, globalSubTreeIdInitialized, resetVisitorIterator, setAnchoredFinalState, setAnchoredInitialState, setGlobalSubTreeId, setGroup, setMatchFound, setSubTreeId, setUnAnchoredInitialState, subTreeIdInitialized, toJson, toString, visitorGetNext, visitorHasNextMethods 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, isCaret, isCharacterClass, isConditionalBackReferenceGroup, isDead, isDollar, 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, 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
-
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.- Specified by:
copyin classRegexASTSubtreeRootNode- Parameters:
ast- RegexAST the node should belong to.- Returns:
- A shallow copy of this node.
-
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.
-
getPrefix
- Specified by:
getPrefixin classRegexASTSubtreeRootNode
-
equalsSemantic
- Specified by:
equalsSemanticin classRegexASTNode
-
toJson
-