|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--kmy.regex.util.Regex | +--kmy.regex.interp.InterpretedRegex
Inner Class Summary | |
(package private) static interface |
InterpretedRegex.AbortException
|
(package private) static class |
InterpretedRegex.Fork
|
(package private) static class |
InterpretedRegex.MultiFork
|
(package private) static class |
InterpretedRegex.Restore
|
Field Summary | |
(package private) int |
addHeadIncrement
Used to optimize HINT_CHAR_STAR_HEAD. |
(package private) byte[] |
bstring
|
(package private) int[] |
cells
|
(package private) byte[] |
code
|
(package private) int |
end
|
(package private) char[][] |
extCells
|
(package private) int |
extVarCells
|
(package private) java.util.Stack |
forks
|
(package private) int |
headIncrement
Used to optimize HINT_CHAR_STAR_HEAD. |
(package private) int |
headStart
|
(package private) int |
hints
|
(package private) int |
matchEnd
|
(package private) int |
matchStart
|
(package private) int |
maxLength
|
(package private) int |
maxStart
|
(package private) int |
mfCounter
|
(package private) int |
minLength
|
(package private) int |
nCells
|
(package private) int |
pc
|
(package private) RegexRefiller |
refiller
|
(package private) int |
start
|
(package private) char[] |
string
|
(package private) java.util.Hashtable |
vars
|
Fields inherited from class kmy.regex.util.Regex |
factory |
Fields inherited from interface kmy.regex.interp.RInterpCommands |
ASSERT_CHAR,
ASSERT_CLASS,
ASSERT_CLASS_RANGE,
ASSERT_EXT_VAR,
ASSERT_RANGE,
ASSERT_VAR,
ASSIGN,
BOUNDARY,
CHARLEFT,
DECFAIL,
DECJUMP,
FAIL,
FORK,
HARDASSIGN,
JUMP,
JUMP_CHAR,
JUMP_MAX_LEFT,
JUMP_MIN_LEFT,
JUMP_RANGE,
MFEND,
MFENDLIMIT,
MFSTART,
MFSTART_HEAD,
PICK,
SHIFTTBL,
SKIP,
SKIP_NON_NEWLINE,
STOP |
Fields inherited from interface kmy.regex.tree.CharClassCodes |
CLASS_ALL,
CLASS_DISABLED,
CLASS_LETTER,
CLASS_LOWERCASE,
CLASS_NONE,
CLASS_NONLETTER,
CLASS_NONLOWERCASE,
CLASS_NONUPPERCASE,
CLASS_UPPERCASE |
Constructor Summary | |
(package private) |
InterpretedRegex(byte[] code,
java.util.Hashtable vars,
int varCells,
int hints,
int minLength,
int maxLength,
int extVarCells)
|
Method Summary | |
private int |
assign(int var,
int val)
|
private int |
fail()
|
private void |
fork(int label,
int head)
|
private void |
fork(int decrement,
int label,
int head)
|
byte[] |
getByteBuffer(int extHandle)
|
char[] |
getCharBuffer(int extHandle)
Returns external variable buffer by its buffer handle. |
int |
getExtVariableHandle(java.lang.String var)
Returns external variable buffer handle that can be used later to get or set variable value efficiently. |
int |
getIndex(int handle)
Returns external or internal variable index using its index handle. |
int |
getMatchEnd()
After successiful search returns matching substring's final position in the input buffer (that was set up by init method). |
int |
getMatchStart()
After successiful search returns matching substring's initial position in the input buffer (that was set up by init method). |
int |
getVariableHandle(java.lang.String var,
boolean begin)
Returns variable index handle that can be used later to get or set variable value efficiently. |
private static boolean |
inClass(char c,
int charClass)
|
void |
init(byte[] arr,
int off,
int len)
|
void |
init(char[] arr,
int off,
int len)
Prepares to match or search. |
boolean |
match()
Match the beginning of the buffer (that was set up by init method) against this regex. |
boolean |
matchWhole()
Match the buffer (that was set up by init method) against this regex. |
private boolean |
nextMatchInt()
|
private int |
readCode()
|
private int |
readLabel()
|
private boolean |
refill()
|
boolean |
search()
Search the buffer (that was set up by init method) for a substring that matches this regex. |
boolean |
searchAgain()
Search the buffer (that was set up by init method) for a substring that matches this regex. |
void |
setExtVariableBuffer(int extHandle,
char[] arr)
Assignes external variable buffer by its buffer handle. |
void |
setIndex(int handle,
int value)
Returns internal variable index using its index handle. |
void |
setRefilledBuffer(char[] buffer)
Refiller can call this method after refilling the buffer, if buffer has been reallocated. |
void |
setRefiller(RegexRefiller refiller)
|
java.util.Enumeration |
variables()
Enumerates all external and internal variables in this regex. |
Methods inherited from class kmy.regex.util.Regex |
accept,
clone,
cloneRegex,
createFilePattern,
createLowerCaseRegex,
createRegex,
createRegex,
createRegex,
get,
getMatch,
getMatchString,
init,
init,
initFactory,
matches,
matches,
matchesWhole,
matchesWhole,
searchOnce,
searchOnce,
searchOnce,
searchOnce,
set,
setExtVariable,
setExtVariable,
setExtVariable,
setExtVariable,
setFactory |
Methods inherited from class java.lang.Object |
|
Field Detail |
int nCells
java.util.Hashtable vars
byte[] code
int hints
int minLength
int maxLength
char[] string
byte[] bstring
int[] cells
int start
int end
java.util.Stack forks
int pc
int matchStart
int matchEnd
int headStart
int maxStart
char[][] extCells
int extVarCells
int mfCounter
RegexRefiller refiller
int headIncrement
int addHeadIncrement
Constructor Detail |
InterpretedRegex(byte[] code, java.util.Hashtable vars, int varCells, int hints, int minLength, int maxLength, int extVarCells)
Method Detail |
private int readCode()
private int readLabel()
private void fork(int label, int head)
private void fork(int decrement, int label, int head)
private int assign(int var, int val)
private int fail()
private static boolean inClass(char c, int charClass)
private boolean refill()
private boolean nextMatchInt()
public int getVariableHandle(java.lang.String var, boolean begin)
public java.util.Enumeration variables()
public int getExtVariableHandle(java.lang.String var)
public void setExtVariableBuffer(int extHandle, char[] arr)
public void init(char[] arr, int off, int len)
public void init(byte[] arr, int off, int len)
public char[] getCharBuffer(int extHandle)
public byte[] getByteBuffer(int extHandle)
public int getMatchStart()
public int getMatchEnd()
public int getIndex(int handle)
public void setIndex(int handle, int value)
public void setRefiller(RegexRefiller refiller)
public void setRefilledBuffer(char[] buffer)
public boolean search()
public boolean searchAgain()
public boolean matchWhole()
public boolean match()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |