kmy.regex.parser
Class RParser
java.lang.Object
|
+--kmy.regex.parser.RParser
- public class RParser
- extends java.lang.Object
- implements CharClassCodes, MiniErrorCodes
Regular expression parser.
TODO:
- possibly add syntax flags (perl/sed/POSIX style, etc.)
Fields inherited from interface kmy.jint.constants.MiniErrorCodes |
ERR_F_BADEND,
ERR_F_BADFORMATCHAR,
ERR_F_GENERIC,
ERR_F_INCOMPLETE,
ERR_F_NOCURLBRACKET,
ERR_F_NOTWITHJAVA,
ERR_F_NOVARNAME,
ERR_MASK_CLASSTABLE,
ERR_MASK_COMPILER,
ERR_MASK_ERROR,
ERR_MASK_FATAL,
ERR_MASK_FORMAT,
ERR_MASK_GENERATOR,
ERR_MASK_INFO,
ERR_MASK_INTERNAL,
ERR_MASK_LEXER,
ERR_MASK_MODULE,
ERR_MASK_PARSER,
ERR_MASK_REGEX,
ERR_MASK_SEVERITY,
ERR_MASK_TYPER,
ERR_MASK_VERBOSE,
ERR_MASK_WARNING,
ERR_R_BADBACKREF,
ERR_R_BADSTART,
ERR_R_BQBAD,
ERR_R_BQUNFINISHED,
ERR_R_CTLINVALID,
ERR_R_CTLUNFINISHED,
ERR_R_EXTRABRACKET,
ERR_R_GENERIC,
ERR_R_HEXBADNUMBER,
ERR_R_HEXUNFINISHED,
ERR_R_INTERNAL,
ERR_R_NOBRACKET,
ERR_R_NOCURLBRACKET,
ERR_R_NOSQBRACKET,
ERR_R_NOVAREXPR,
ERR_R_NOVARNAME,
ERR_R_STRAYBSLASH |
Method Summary |
private void |
append(RNode node)
|
java.lang.String[] |
getPickList()
|
java.lang.String[] |
getRefList()
|
RNode |
parse(char[] regex)
|
RNode |
parse(char[] regex,
int offset,
int length,
boolean noimplicit)
|
RNode |
parse(java.lang.String regex)
|
RNode |
parse(java.lang.String regex,
boolean noimplicit)
|
private int |
parseBackslash(char[] regex,
int i,
int maxIndex,
boolean inRange)
|
private int |
parseCharClass(char[] regex,
int i,
int maxIndex)
|
int |
parseFilePattern(char[] regex,
int index,
int maxIndex,
boolean inner)
|
int |
parseImpl(char[] regex,
int index,
int maxIndex)
|
private int |
parseVariable(char[] regex,
int i,
int maxIndex)
|
Methods inherited from class java.lang.Object |
,
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
registerNatives,
toString,
wait,
wait,
wait |
head
private RNode head
tail
private RNode tail
varCounter
private int varCounter
refList
private java.util.Hashtable refList
pickList
private java.util.Hashtable pickList
syntax
private int syntax
lowerCase
private boolean lowerCase
FILE_PATTERN_SYNTAX
public static final int FILE_PATTERN_SYNTAX
varName
private java.lang.String varName
charClassNode
private RNode charClassNode
backslashNode
private RNode backslashNode
backslashTranslation
private int backslashTranslation
RParser
public RParser()
RParser
public RParser(int syntax,
boolean lowerCase)
append
private void append(RNode node)
parse
public RNode parse(java.lang.String regex)
parse
public RNode parse(java.lang.String regex,
boolean noimplicit)
parse
public RNode parse(char[] regex)
parse
public RNode parse(char[] regex,
int offset,
int length,
boolean noimplicit)
getRefList
public java.lang.String[] getRefList()
getPickList
public java.lang.String[] getPickList()
parseFilePattern
public int parseFilePattern(char[] regex,
int index,
int maxIndex,
boolean inner)
parseImpl
public int parseImpl(char[] regex,
int index,
int maxIndex)
parseVariable
private int parseVariable(char[] regex,
int i,
int maxIndex)
parseCharClass
private int parseCharClass(char[] regex,
int i,
int maxIndex)
parseBackslash
private int parseBackslash(char[] regex,
int i,
int maxIndex,
boolean inRange)