Class Term
java.lang.Object
com.oracle.truffle.regex.tregex.parser.ast.RegexASTNode
com.oracle.truffle.regex.tregex.parser.ast.Term
- All Implemented Interfaces:
AbstractState<Term,,ASTTransition> JsonConvertible
- Direct Known Subclasses:
MatchFound,PositionAssertion,QuantifiableTerm,RegexASTSubtreeRootNode
A common supertype for all
RegexASTNodes except Sequences.
Roughly corresponds to the goal symbol Term in the ECMAScript RegExp syntax. A
Term (Term) can be either an Assertion (PositionAssertion or
LookAroundAssertion) or an Atom (QuantifiableTerm.
-
Method Summary
Modifier and TypeMethodDescriptionabstract TermCopy this node only, without any child nodes.abstract TermcopyRecursive(RegexAST ast, CompilationBuffer compilationBuffer) Recursively copy this subtree.intReturns the subtree root node that this node is a part of.voidsetSeqIndex(int seqIndex) Methods 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, equalsSemantic, 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, toJson, toStringWithIDMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.oracle.truffle.regex.tregex.automaton.AbstractState
getIdMethods inherited from interface com.oracle.truffle.regex.tregex.util.json.JsonConvertible
toJson
-
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 classRegexASTNode- 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 classRegexASTNode- Parameters:
ast- RegexAST the new nodes should belong to.- Returns:
- A deep copy of this node.
-
getSeqIndex
public int getSeqIndex() -
setSeqIndex
public void setSeqIndex(int seqIndex) -
getSubTreeParent
Description copied from class:RegexASTNodeReturns the subtree root node that this node is a part of. If this node is nested inside several look-around assertion nodes, returns the innermost one that contains this node. Every AST node should have a subtree parent, but nodes implicitly generated byRegexAST.getNFAAnchoredInitialState(int)andRegexAST.getNFAUnAnchoredInitialState(int)technically don't belong to the AST, so they will returnnull.- Specified by:
getSubTreeParentin classRegexASTNode
-