Class TRegexExecutorNode
java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.regex.tregex.nodes.TRegexExecutorBaseNode
com.oracle.truffle.regex.tregex.nodes.TRegexExecutorNode
- All Implemented Interfaces:
com.oracle.truffle.api.instrumentation.InstrumentableNode,com.oracle.truffle.api.nodes.NodeInterface,Cloneable
- Direct Known Subclasses:
TRegexBacktrackerSubExecutorNode,TRegexDFAExecutorNode,TRegexNFAExecutorNode
-
Nested Class Summary
Nested classes/interfaces inherited from class com.oracle.truffle.api.nodes.Node
com.oracle.truffle.api.nodes.Node.Child, com.oracle.truffle.api.nodes.Node.ChildrenNested classes/interfaces inherited from interface com.oracle.truffle.api.instrumentation.InstrumentableNode
com.oracle.truffle.api.instrumentation.InstrumentableNode.WrapperNode -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final doublestatic final doublestatic final doublestatic final doublestatic final double -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedTRegexExecutorNode(RegexSource source, int numberOfCaptureGroups, int numberOfTransitions) protectedprotectedTRegexExecutorNode(RegexAST ast, int numberOfTransitions) -
Method Summary
Modifier and TypeMethodDescriptionintcountUpTo(TRegexExecutorLocals locals, int max, int nCodePoints, com.oracle.truffle.api.strings.TruffleString.CodeRange codeRange) com.oracle.truffle.api.profiles.BranchProfilecom.oracle.truffle.api.profiles.BranchProfileintgetMaxIndex(TRegexExecutorLocals locals) intgetMinIndex(TRegexExecutorLocals locals) final intfinal intvoidinputAdvance(TRegexExecutorLocals locals) booleaninputAtBegin(TRegexExecutorLocals locals) Returnstrueiff the index is at the beginning of the input string in respect toTRegexExecutorBaseNode.isForward().booleaninputAtEnd(TRegexExecutorLocals locals) Returnstrueiff the index is at the end of the input string in respect toTRegexExecutorBaseNode.isForward().intinputGetCodePointSize(TRegexExecutorLocals locals, boolean forward, com.oracle.truffle.api.strings.TruffleString.CodeRange codeRange) intinputGetCodePointSize(TRegexExecutorLocals locals, com.oracle.truffle.api.strings.TruffleString.CodeRange codeRange) booleaninputHasNext(TRegexExecutorLocals locals) booleaninputHasNext(TRegexExecutorLocals locals, int index) booleaninputHasNext(TRegexExecutorLocals locals, int index, boolean forward) voidvoidinputIncNextIndexRaw(TRegexExecutorLocals locals, int offset) intinputIncRaw(int index) intinputIncRaw(int index, int offset) static intinputIncRaw(int index, int offset, boolean forward) voidinputIncRaw(TRegexExecutorLocals locals) voidinputIncRaw(TRegexExecutorLocals locals, int offset) voidinputIncRaw(TRegexExecutorLocals locals, int offset, boolean forward) intinputReadAndDecode(TRegexExecutorLocals locals, int index, com.oracle.truffle.api.strings.TruffleString.CodeRange codeRange) intinputReadAndDecode(TRegexExecutorLocals locals, com.oracle.truffle.api.strings.TruffleString.CodeRange codeRange) intinputReadRaw(TRegexExecutorLocals locals) intinputReadRaw(TRegexExecutorLocals locals, boolean forward) intinputReadRaw(TRegexExecutorLocals locals, int index) intinputReadRaw(TRegexExecutorLocals locals, int index, boolean forward) voidinputSkip(TRegexExecutorLocals locals, com.oracle.truffle.api.strings.TruffleString.CodeRange codeRange) protected voidinputSkipIntl(TRegexExecutorLocals locals, boolean forward, com.oracle.truffle.api.strings.TruffleString.CodeRange codeRange) voidinputSkipReverse(TRegexExecutorLocals locals, com.oracle.truffle.api.strings.TruffleString.CodeRange codeRange) booleaninputUTF16IsHighSurrogate(int c) booleaninputUTF16IsLowSurrogate(int c) intinputUTF16ToCodePoint(int highSurrogate, int lowSurrogate) booleanintrewindUpTo(TRegexExecutorLocals locals, int min, int nCodePoints, com.oracle.truffle.api.strings.TruffleString.CodeRange codeRange) Methods inherited from class com.oracle.truffle.regex.tregex.nodes.TRegexExecutorBaseNode
createLocals, createWrapper, execute, getEncoding, getName, getNumberOfStates, isBooleanMatch, isForward, isInstrumentable, isTrivial, isUTF16, isUTF32, isUTF8, shallowCopy, unwrap, writesCaptureGroupsMethods inherited from class com.oracle.truffle.api.nodes.Node
accept, adoptChildren, atomic, atomic, copy, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, getSourceSection, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, onReplace, replace, replace, reportPolymorphicSpecialize, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.oracle.truffle.api.instrumentation.InstrumentableNode
findNearestNodeAt, findNearestNodeAt, getNodeObject, hasTag, materializeInstrumentableNodes
-
Field Details
-
CONTINUE_PROBABILITY
public static final double CONTINUE_PROBABILITY- See Also:
-
EXIT_PROBABILITY
public static final double EXIT_PROBABILITY- See Also:
-
LATIN1_PROBABILITY
public static final double LATIN1_PROBABILITY- See Also:
-
BMP_PROBABILITY
public static final double BMP_PROBABILITY- See Also:
-
ASTRAL_PROBABILITY
public static final double ASTRAL_PROBABILITY- See Also:
-
-
Constructor Details
-
TRegexExecutorNode
-
TRegexExecutorNode
-
TRegexExecutorNode
protected TRegexExecutorNode(RegexSource source, int numberOfCaptureGroups, int numberOfTransitions)
-
-
Method Details
-
getSource
- Specified by:
getSourcein classTRegexExecutorBaseNode
-
getNumberOfCaptureGroups
public final int getNumberOfCaptureGroups() -
getNumberOfTransitions
public final int getNumberOfTransitions()- Specified by:
getNumberOfTransitionsin classTRegexExecutorBaseNode
-
getBMPProfile
public com.oracle.truffle.api.profiles.BranchProfile getBMPProfile() -
getAstralProfile
public com.oracle.truffle.api.profiles.BranchProfile getAstralProfile() -
inputAtBegin
Returnstrueiff the index is at the beginning of the input string in respect toTRegexExecutorBaseNode.isForward(). -
inputAtEnd
Returnstrueiff the index is at the end of the input string in respect toTRegexExecutorBaseNode.isForward(). -
getMinIndex
-
getMaxIndex
-
inputHasNext
-
inputHasNext
-
inputHasNext
-
inputReadAndDecode
public int inputReadAndDecode(TRegexExecutorLocals locals, com.oracle.truffle.api.strings.TruffleString.CodeRange codeRange) -
inputReadAndDecode
public int inputReadAndDecode(TRegexExecutorLocals locals, int index, com.oracle.truffle.api.strings.TruffleString.CodeRange codeRange) -
inputUTF16IsHighSurrogate
public boolean inputUTF16IsHighSurrogate(int c) -
inputUTF16IsLowSurrogate
public boolean inputUTF16IsLowSurrogate(int c) -
inputUTF16ToCodePoint
public int inputUTF16ToCodePoint(int highSurrogate, int lowSurrogate) -
inputReadRaw
-
inputReadRaw
-
inputReadRaw
-
inputReadRaw
-
inputAdvance
-
inputSkip
public void inputSkip(TRegexExecutorLocals locals, com.oracle.truffle.api.strings.TruffleString.CodeRange codeRange) -
inputSkipReverse
public void inputSkipReverse(TRegexExecutorLocals locals, com.oracle.truffle.api.strings.TruffleString.CodeRange codeRange) -
inputSkipIntl
protected void inputSkipIntl(TRegexExecutorLocals locals, boolean forward, com.oracle.truffle.api.strings.TruffleString.CodeRange codeRange) -
inputGetCodePointSize
public int inputGetCodePointSize(TRegexExecutorLocals locals, com.oracle.truffle.api.strings.TruffleString.CodeRange codeRange) -
inputGetCodePointSize
public int inputGetCodePointSize(TRegexExecutorLocals locals, boolean forward, com.oracle.truffle.api.strings.TruffleString.CodeRange codeRange) -
inputIncRaw
-
inputIncRaw
-
inputIncRaw
-
inputIncRaw
public int inputIncRaw(int index) -
inputIncRaw
public int inputIncRaw(int index, int offset) -
inputIncRaw
public static int inputIncRaw(int index, int offset, boolean forward) -
inputIncNextIndexRaw
-
inputIncNextIndexRaw
-
countUpTo
public int countUpTo(TRegexExecutorLocals locals, int max, int nCodePoints, com.oracle.truffle.api.strings.TruffleString.CodeRange codeRange) -
rewindUpTo
public int rewindUpTo(TRegexExecutorLocals locals, int min, int nCodePoints, com.oracle.truffle.api.strings.TruffleString.CodeRange codeRange) -
isSimpleCG
public boolean isSimpleCG()- Specified by:
isSimpleCGin classTRegexExecutorBaseNode
-