abstract class StackMachine extends Matcher implements StackType
Modifier and Type | Field and Description |
---|---|
protected static int |
INVALID_INDEX |
protected int |
memEndStk |
protected int |
memStartStk |
protected int[] |
repeatStk |
protected StackEntry[] |
stack |
(package private) static ThreadLocal<WeakReference<StackEntry[]>> |
stacks |
private static int |
STATE_CHECK_BUFF_MALLOC_THRESHOLD_SIZE |
protected byte[] |
stateCheckBuff |
(package private) int |
stateCheckBuffSize |
protected int |
stk |
bytes, enc, end, FAILED, high, INTERRUPTED, low, msaBegin, msaBestLen, msaBestS, msaEnd, msaOptions, msaRegion, msaStart, regex, str
ALT, CALL_FRAME, INVALID_STACK_INDEX, LOOK_BEHIND_NOT, MASK_MEM_END_OR_MARK, MASK_POP_USED, MASK_TO_VOID_TARGET, MEM_END, MEM_END_MARK, MEM_START, NULL_CHECK_END, NULL_CHECK_START, POS, POS_NOT, REPEAT, REPEAT_INC, RETURN, STATE_CHECK_MARK, STOP_BT, VOID
Modifier | Constructor and Description |
---|---|
protected |
StackMachine(Regex regex,
byte[] bytes,
int p,
int end) |
Modifier and Type | Method and Description |
---|---|
private static StackEntry[] |
allocateStack() |
private void |
doubleStack() |
protected StackEntry |
ensure1() |
private static StackEntry[] |
fetchStack() |
protected int |
getMemStart(int mnum) |
protected int |
getRepeat(int id) |
protected void |
init() |
protected int |
nullCheck(int id,
int s) |
protected int |
nullCheckMemSt(int id,
int s) |
protected int |
nullCheckMemStRec(int id,
int s) |
protected int |
nullCheckRec(int id,
int s) |
protected StackEntry |
pop() |
private StackEntry |
popDefault() |
private StackEntry |
popFree() |
private StackEntry |
popMemStart() |
protected void |
popOne() |
protected void |
popTilLookBehindNot() |
protected void |
popTilPosNot() |
protected int |
posEnd() |
private void |
push(int type,
int pat,
int s,
int prev) |
protected void |
pushAlt(int pat,
int s,
int prev) |
protected void |
pushAltWithStateCheck(int pat,
int s,
int sprev,
int snum) |
protected void |
pushCallFrame(int pat) |
protected void |
pushEnsured(int type,
int pat) |
protected void |
pushLookBehindNot(int pat,
int s,
int sprev) |
protected void |
pushMemEnd(int mnum,
int s) |
protected void |
pushMemEndMark(int mnum) |
protected void |
pushMemStart(int mnum,
int s) |
protected void |
pushNullCheckEnd(int cnum) |
protected void |
pushNullCheckStart(int cnum,
int s) |
protected void |
pushPos(int s,
int prev) |
protected void |
pushPosNot(int pat,
int s,
int prev) |
protected void |
pushRepeat(int id,
int pat) |
protected void |
pushRepeatInc(int sindex) |
protected void |
pushReturn() |
protected void |
pushStateCheck(int s,
int snum) |
protected void |
pushStopBT() |
protected void |
pushType(int type) |
protected int |
sreturn() |
protected void |
stateCheckBuffClear() |
protected void |
stateCheckBuffInit(int strLength,
int offset,
int stateNum) |
private void |
stateCheckMark() |
private int |
stateCheckPos(int s,
int snum) |
protected boolean |
stateCheckVal(int s,
int snum) |
protected void |
stopBtEnd() |
getBegin, getEagerRegion, getEnd, getRegion, match, matchAt, matchInterruptible, msaInit, search, searchInterruptible
protected static final int INVALID_INDEX
protected StackEntry[] stack
protected int stk
protected final int[] repeatStk
protected final int memStartStk
protected final int memEndStk
protected byte[] stateCheckBuff
int stateCheckBuffSize
static final ThreadLocal<WeakReference<StackEntry[]>> stacks
private static final int STATE_CHECK_BUFF_MALLOC_THRESHOLD_SIZE
protected StackMachine(Regex regex, byte[] bytes, int p, int end)
private static StackEntry[] allocateStack()
private void doubleStack()
private static StackEntry[] fetchStack()
protected final void init()
protected final StackEntry ensure1()
protected final void pushType(int type)
private int stateCheckPos(int s, int snum)
protected final boolean stateCheckVal(int s, int snum)
private void stateCheckMark()
protected final void stateCheckBuffInit(int strLength, int offset, int stateNum)
stateCheckBuffInit
in class Matcher
protected final void stateCheckBuffClear()
stateCheckBuffClear
in class Matcher
private void push(int type, int pat, int s, int prev)
protected final void pushEnsured(int type, int pat)
protected final void pushAltWithStateCheck(int pat, int s, int sprev, int snum)
protected final void pushStateCheck(int s, int snum)
protected final void pushAlt(int pat, int s, int prev)
protected final void pushPos(int s, int prev)
protected final void pushPosNot(int pat, int s, int prev)
protected final void pushStopBT()
protected final void pushLookBehindNot(int pat, int s, int sprev)
protected final void pushRepeat(int id, int pat)
protected final void pushRepeatInc(int sindex)
protected final void pushMemStart(int mnum, int s)
protected final void pushMemEnd(int mnum, int s)
protected final void pushMemEndMark(int mnum)
protected final int getMemStart(int mnum)
protected final void pushNullCheckStart(int cnum, int s)
protected final void pushNullCheckEnd(int cnum)
protected final void pushCallFrame(int pat)
protected final void pushReturn()
protected final void popOne()
protected final StackEntry pop()
private StackEntry popFree()
private StackEntry popMemStart()
private StackEntry popDefault()
protected final void popTilPosNot()
protected final void popTilLookBehindNot()
protected final int posEnd()
protected final void stopBtEnd()
protected final int nullCheck(int id, int s)
protected final int nullCheckRec(int id, int s)
protected final int nullCheckMemSt(int id, int s)
protected final int nullCheckMemStRec(int id, int s)
protected final int getRepeat(int id)
protected final int sreturn()
Copyright © 2018. All rights reserved.