public final class TRegexBacktrackingNFAExecutorLocals extends TRegexExecutorLocals
TRegexBacktrackingNFAExecutorNode. One stack frame represents
a snapshot of the backtracker's state. The backtracker state consists of:
sp sp+1 sp+2 sp+2+ncg sp+2+ncg+nq | | | | | v v v v v -------------------------------------------------------------------------- |index|nfa_state|capture_groups|quantifiers_counts|zero_width_quantifiers| -------------------------------------------------------------------------- frame size: 2 + n_capture_groups*2 + n_quantifiers + n_zero_width_quantifiers
| Constructor and Description |
|---|
TRegexBacktrackingNFAExecutorLocals(Object input,
int fromIndex,
int index,
int maxIndex,
int nCaptureGroups,
int nQuantifiers,
int nZeroWidthQuantifiers,
int maxNTransitions) |
getFromIndex, getInput, getMaxIndexpublic TRegexBacktrackingNFAExecutorLocals(Object input, int fromIndex, int index, int maxIndex, int nCaptureGroups, int nQuantifiers, int nZeroWidthQuantifiers, int maxNTransitions)
public TRegexBacktrackingNFAExecutorLocals createSubNFALocals()
public TRegexBacktrackingNFAExecutorLocals createSubNFALocals(PureNFATransition t)
public void apply(PureNFATransition t, int index)
public void resetToInitialState(int newIndex)
protected void clearCaptureGroups()
protected void clearQuantifierCounts()
public void push()
public void dupFrame()
public void dupFrame(int n)
public void pushResult(PureNFATransition t, int index)
public void pushResult()
public void setResult()
public boolean canPopResult()
public int[] popResult()
public boolean canPop()
public int pop()
public int getIndex()
TRegexExecutorLocalsTRegexExecutorLocals.getInput().getIndex in class TRegexExecutorLocalsTRegexExecutorLocals.getInput() that is being processed.public void setIndex(int i)
setIndex in class TRegexExecutorLocalspublic void incIndex(int i)
incIndex in class TRegexExecutorLocalspublic int setPc(int pc)
public int getCaptureGroupBoundary(int index)
public int getCaptureGroupStart(int groupNumber)
public int getCaptureGroupEnd(int groupNumber)
public void overwriteCaptureGroups(int[] captureGroups)
public int getQuantifierCount(Token.Quantifier q)
public void setQuantifierCount(Token.Quantifier q, int count)
public void resetQuantifierCount(Token.Quantifier q)
public void incQuantifierCount(Token.Quantifier q)
public int getZeroWidthQuantifierGuardIndex(Token.Quantifier q)
public void setZeroWidthQuantifierGuardIndex(Token.Quantifier q)
public long[] getTransitionBitSet()
public int getLastInnerLiteralIndex()
public void setLastInnerLiteralIndex(int i)
public int getLastInitialStateIndex()
public void setLastInitialStateIndex(int i)
public void printStack(int curPc)