org.enhydra.apache.xerces.utils.regex
Class RegexParser

java.lang.Object
  |
  +--org.enhydra.apache.xerces.utils.regex.RegexParser
Direct Known Subclasses:
ParserForXMLSchema

class RegexParser
extends Object

A Regular Expression Parser.


Inner Class Summary
(package private) static class RegexParser.ReferencePosition
           
 
Field Summary
(package private)  int chardata
           
(package private)  int context
           
(package private)  boolean hasBackReferences
           
(package private)  int nexttoken
           
(package private)  int offset
           
(package private)  int options
           
(package private)  int parennumber
           
(package private)  Vector references
           
(package private)  String regex
           
(package private)  int regexlen
           
(package private)  ResourceBundle resources
           
protected static int S_INBRACKETS
           
protected static int S_INXBRACKETS
           
protected static int S_NORMAL
           
(package private) static int T_BACKSOLIDUS
           
(package private) static int T_CARET
           
(package private) static int T_CHAR
           
(package private) static int T_COMMENT
           
(package private) static int T_CONDITION
           
(package private) static int T_DOLLAR
           
(package private) static int T_DOT
           
(package private) static int T_EOF
           
(package private) static int T_INDEPENDENT
           
(package private) static int T_LBRACKET
           
(package private) static int T_LOOKAHEAD
           
(package private) static int T_LOOKBEHIND
           
(package private) static int T_LPAREN
           
(package private) static int T_LPAREN2
           
(package private) static int T_MODIFIERS
           
(package private) static int T_NEGATIVELOOKAHEAD
           
(package private) static int T_NEGATIVELOOKBEHIND
           
(package private) static int T_OR
           
(package private) static int T_PLUS
           
(package private) static int T_POSIX_CHARCLASS_START
           
(package private) static int T_QUESTION
           
(package private) static int T_RPAREN
           
(package private) static int T_SET_OPERATIONS
           
(package private) static int T_STAR
           
(package private) static int T_XMLSCHEMA_CC_SUBTRACTION
           
 
Constructor Summary
RegexParser()
           
RegexParser(Locale locale)
           
 
Method Summary
(package private)  boolean checkQuestion(int off)
           
(package private)  int decodeEscaped()
           
(package private)  ParseException ex(String key, int loc)
           
(package private)  Token getTokenForShorthand(int ch)
           
(package private)  void next()
           
(package private)  Token parse(String regex, int options)
           
(package private)  Token parseAtom()
          atom ::= char | '.' | char-class | '(' regex ')' | '(?:' regex ')' | '\' [0-9] | '\w' | '\W' | '\d' | '\D' | '\s' | '\S' | category-block | '(?>' regex ')' char ::= '\\' | '\' [efnrt] | bmp-code | character-1
protected  RangeToken parseCharacterClass(boolean useNrange)
          char-class ::= '[' ( '^'? range ','?)+ ']' range ::= '\d' | '\w' | '\s' | category-block | range-char | range-char '-' range-char range-char ::= '\[' | '\]' | '\\' | '\' [,-efnrtv] | bmp-code | character-2 bmp-code ::= '\' 'u' [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F]
(package private)  Token parseFactor()
          factor ::= ('^' | '$' | '\A' | '\Z' | '\z' | '\b' | '\B' | '\<' | '\>' | atom (('*' | '+' | '?' | minmax ) '?'? )?) | '(?=' regex ')' | '(?!' regex ')' | '(?<=' regex ')' | '(?<!' regex ')' | '(?#' [^)]* ')' minmax ::= '{' min (',' max?)? '}' min ::= [0-9]+ max ::= [0-9]+
(package private)  Token parseRegex()
          regex ::= term (`|` term)* term ::= factor+ factor ::= ('^' | '$' | '\A' | '\Z' | '\z' | '\b' | '\B' | '\<' | '\>' | atom (('*' | '+' | '?' | minmax ) '?'? )?) | '(?=' regex ')' | '(?!' regex ')' | '(?<=' regex ')' | '(?<!' regex ')' atom ::= char | '.' | range | '(' regex ')' | '(?:' regex ')' | '\' [0-9] | '\w' | '\W' | '\d' | '\D' | '\s' | '\S' | category-block
protected  RangeToken parseSetOperations()
          '(?[' ...
(package private)  Token parseTerm()
          term ::= factor+
(package private)  Token processBackreference()
           
(package private)  Token processBacksolidus_A()
           
(package private)  Token processBacksolidus_b()
           
(package private)  Token processBacksolidus_B()
           
(package private)  Token processBacksolidus_c()
           
(package private)  Token processBacksolidus_C()
           
(package private)  Token processBacksolidus_g()
           
(package private)  Token processBacksolidus_gt()
           
(package private)  Token processBacksolidus_i()
           
(package private)  Token processBacksolidus_I()
           
(package private)  Token processBacksolidus_lt()
           
protected  RangeToken processBacksolidus_pP(int c)
           
(package private)  Token processBacksolidus_X()
           
(package private)  Token processBacksolidus_z()
           
(package private)  Token processBacksolidus_Z()
           
(package private)  Token processCaret()
           
(package private)  int processCIinCharacterClass(RangeToken tok, int c)
           
(package private)  Token processCondition()
           
(package private)  Token processDollar()
           
(package private)  Token processIndependent()
           
(package private)  Token processLookahead()
           
(package private)  Token processLookbehind()
           
(package private)  Token processModifiers()
           
(package private)  Token processNegativelookahead()
           
(package private)  Token processNegativelookbehind()
           
(package private)  Token processParen()
           
(package private)  Token processParen2()
           
(package private)  Token processPlus(Token tok)
           
(package private)  Token processQuestion(Token tok)
           
(package private)  Token processStar(Token tok)
           
(package private)  int read()
           
protected  void setContext(int con)
           
 void setLocale(Locale locale)
           
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

T_CHAR

static final int T_CHAR

T_EOF

static final int T_EOF

T_OR

static final int T_OR

T_STAR

static final int T_STAR

T_PLUS

static final int T_PLUS

T_QUESTION

static final int T_QUESTION

T_LPAREN

static final int T_LPAREN

T_RPAREN

static final int T_RPAREN

T_DOT

static final int T_DOT

T_LBRACKET

static final int T_LBRACKET

T_BACKSOLIDUS

static final int T_BACKSOLIDUS

T_CARET

static final int T_CARET

T_DOLLAR

static final int T_DOLLAR

T_LPAREN2

static final int T_LPAREN2

T_LOOKAHEAD

static final int T_LOOKAHEAD

T_NEGATIVELOOKAHEAD

static final int T_NEGATIVELOOKAHEAD

T_LOOKBEHIND

static final int T_LOOKBEHIND

T_NEGATIVELOOKBEHIND

static final int T_NEGATIVELOOKBEHIND

T_INDEPENDENT

static final int T_INDEPENDENT

T_SET_OPERATIONS

static final int T_SET_OPERATIONS

T_POSIX_CHARCLASS_START

static final int T_POSIX_CHARCLASS_START

T_COMMENT

static final int T_COMMENT

T_MODIFIERS

static final int T_MODIFIERS

T_CONDITION

static final int T_CONDITION

T_XMLSCHEMA_CC_SUBTRACTION

static final int T_XMLSCHEMA_CC_SUBTRACTION

offset

int offset

regex

String regex

regexlen

int regexlen

options

int options

resources

ResourceBundle resources

chardata

int chardata

nexttoken

int nexttoken

S_NORMAL

protected static final int S_NORMAL

S_INBRACKETS

protected static final int S_INBRACKETS

S_INXBRACKETS

protected static final int S_INXBRACKETS

context

int context

parennumber

int parennumber

hasBackReferences

boolean hasBackReferences

references

Vector references
Constructor Detail

RegexParser

public RegexParser()

RegexParser

public RegexParser(Locale locale)
Method Detail

setLocale

public void setLocale(Locale locale)

ex

final ParseException ex(String key,
                        int loc)

parse

Token parse(String regex,
            int options)
      throws ParseException

setContext

protected final void setContext(int con)

read

final int read()

next

final void next()

parseRegex

Token parseRegex()
           throws ParseException
regex ::= term (`|` term)* term ::= factor+ factor ::= ('^' | '$' | '\A' | '\Z' | '\z' | '\b' | '\B' | '\<' | '\>' | atom (('*' | '+' | '?' | minmax ) '?'? )?) | '(?=' regex ')' | '(?!' regex ')' | '(?<=' regex ')' | '(?<!' regex ')' atom ::= char | '.' | range | '(' regex ')' | '(?:' regex ')' | '\' [0-9] | '\w' | '\W' | '\d' | '\D' | '\s' | '\S' | category-block

parseTerm

Token parseTerm()
          throws ParseException
term ::= factor+

processCaret

Token processCaret()
             throws ParseException

processDollar

Token processDollar()
              throws ParseException

processLookahead

Token processLookahead()
                 throws ParseException

processNegativelookahead

Token processNegativelookahead()
                         throws ParseException

processLookbehind

Token processLookbehind()
                  throws ParseException

processNegativelookbehind

Token processNegativelookbehind()
                          throws ParseException

processBacksolidus_A

Token processBacksolidus_A()
                     throws ParseException

processBacksolidus_Z

Token processBacksolidus_Z()
                     throws ParseException

processBacksolidus_z

Token processBacksolidus_z()
                     throws ParseException

processBacksolidus_b

Token processBacksolidus_b()
                     throws ParseException

processBacksolidus_B

Token processBacksolidus_B()
                     throws ParseException

processBacksolidus_lt

Token processBacksolidus_lt()
                      throws ParseException

processBacksolidus_gt

Token processBacksolidus_gt()
                      throws ParseException

processStar

Token processStar(Token tok)
            throws ParseException

processPlus

Token processPlus(Token tok)
            throws ParseException

processQuestion

Token processQuestion(Token tok)
                throws ParseException

checkQuestion

boolean checkQuestion(int off)

processParen

Token processParen()
             throws ParseException

processParen2

Token processParen2()
              throws ParseException

processCondition

Token processCondition()
                 throws ParseException

processModifiers

Token processModifiers()
                 throws ParseException

processIndependent

Token processIndependent()
                   throws ParseException

processBacksolidus_c

Token processBacksolidus_c()
                     throws ParseException

processBacksolidus_C

Token processBacksolidus_C()
                     throws ParseException

processBacksolidus_i

Token processBacksolidus_i()
                     throws ParseException

processBacksolidus_I

Token processBacksolidus_I()
                     throws ParseException

processBacksolidus_g

Token processBacksolidus_g()
                     throws ParseException

processBacksolidus_X

Token processBacksolidus_X()
                     throws ParseException

processBackreference

Token processBackreference()
                     throws ParseException

parseFactor

Token parseFactor()
            throws ParseException
factor ::= ('^' | '$' | '\A' | '\Z' | '\z' | '\b' | '\B' | '\<' | '\>' | atom (('*' | '+' | '?' | minmax ) '?'? )?) | '(?=' regex ')' | '(?!' regex ')' | '(?<=' regex ')' | '(?<!' regex ')' | '(?#' [^)]* ')' minmax ::= '{' min (',' max?)? '}' min ::= [0-9]+ max ::= [0-9]+

parseAtom

Token parseAtom()
          throws ParseException
atom ::= char | '.' | char-class | '(' regex ')' | '(?:' regex ')' | '\' [0-9] | '\w' | '\W' | '\d' | '\D' | '\s' | '\S' | category-block | '(?>' regex ')' char ::= '\\' | '\' [efnrt] | bmp-code | character-1

processBacksolidus_pP

protected RangeToken processBacksolidus_pP(int c)
                                    throws ParseException

processCIinCharacterClass

int processCIinCharacterClass(RangeToken tok,
                              int c)

parseCharacterClass

protected RangeToken parseCharacterClass(boolean useNrange)
                                  throws ParseException
char-class ::= '[' ( '^'? range ','?)+ ']' range ::= '\d' | '\w' | '\s' | category-block | range-char | range-char '-' range-char range-char ::= '\[' | '\]' | '\\' | '\' [,-efnrtv] | bmp-code | character-2 bmp-code ::= '\' 'u' [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F]

parseSetOperations

protected RangeToken parseSetOperations()
                                 throws ParseException
'(?[' ... ']' (('-' | '+' | '&') '[' ... ']')? ')'

getTokenForShorthand

Token getTokenForShorthand(int ch)

decodeEscaped

int decodeEscaped()
            throws ParseException


Copyright © 1999 The Apache Software Foundation. All Rights reserved.