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:


Field Summary
private  RNode backslashNode
           
private  int backslashTranslation
           
private  RNode charClassNode
           
static int FILE_PATTERN_SYNTAX
           
private  RNode head
           
private  boolean lowerCase
           
private  java.util.Hashtable pickList
           
private  java.util.Hashtable refList
           
private  int syntax
           
private  RNode tail
           
private  int varCounter
           
private  java.lang.String varName
           
 
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
 
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
 
Constructor Summary
RParser()
           
RParser(int syntax, boolean lowerCase)
           
 
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
 

Field Detail

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
Constructor Detail

RParser

public RParser()

RParser

public RParser(int syntax,
               boolean lowerCase)
Method Detail

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)