Package com.sun.msv.datatype.regexp
Class RegexParser
- java.lang.Object
-
- com.sun.msv.datatype.regexp.RegexParser
-
- Direct Known Subclasses:
ParserForXMLSchema
class RegexParser extends java.lang.Object
A Regular Expression Parser.- Version:
- RegexParser.java,v 1.8 2003/03/25 14:47:06 sandygao Exp
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
RegexParser.ReferencePosition
-
Field Summary
Fields Modifier and Type Field Description (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) java.util.Vector
references
(package private) java.lang.String
regex
(package private) int
regexlen
(package private) java.util.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
Constructors Constructor Description RegexParser()
RegexParser(java.util.Locale locale)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) boolean
checkQuestion(int off)
(package private) int
decodeEscaped()
(package private) ParseException
ex(java.lang.String key, int loc)
(package private) Token
getTokenForShorthand(int ch)
private static int
hexChar(int ch)
private boolean
isSet(int flag)
(package private) void
next()
(package private) Token
parse(java.lang.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-1protected 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-blockprotected 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(java.util.Locale locale)
-
-
-
Field Detail
-
T_CHAR
static final int T_CHAR
- See Also:
- Constant Field Values
-
T_EOF
static final int T_EOF
- See Also:
- Constant Field Values
-
T_OR
static final int T_OR
- See Also:
- Constant Field Values
-
T_STAR
static final int T_STAR
- See Also:
- Constant Field Values
-
T_PLUS
static final int T_PLUS
- See Also:
- Constant Field Values
-
T_QUESTION
static final int T_QUESTION
- See Also:
- Constant Field Values
-
T_LPAREN
static final int T_LPAREN
- See Also:
- Constant Field Values
-
T_RPAREN
static final int T_RPAREN
- See Also:
- Constant Field Values
-
T_DOT
static final int T_DOT
- See Also:
- Constant Field Values
-
T_LBRACKET
static final int T_LBRACKET
- See Also:
- Constant Field Values
-
T_BACKSOLIDUS
static final int T_BACKSOLIDUS
- See Also:
- Constant Field Values
-
T_CARET
static final int T_CARET
- See Also:
- Constant Field Values
-
T_DOLLAR
static final int T_DOLLAR
- See Also:
- Constant Field Values
-
T_LPAREN2
static final int T_LPAREN2
- See Also:
- Constant Field Values
-
T_LOOKAHEAD
static final int T_LOOKAHEAD
- See Also:
- Constant Field Values
-
T_NEGATIVELOOKAHEAD
static final int T_NEGATIVELOOKAHEAD
- See Also:
- Constant Field Values
-
T_LOOKBEHIND
static final int T_LOOKBEHIND
- See Also:
- Constant Field Values
-
T_NEGATIVELOOKBEHIND
static final int T_NEGATIVELOOKBEHIND
- See Also:
- Constant Field Values
-
T_INDEPENDENT
static final int T_INDEPENDENT
- See Also:
- Constant Field Values
-
T_SET_OPERATIONS
static final int T_SET_OPERATIONS
- See Also:
- Constant Field Values
-
T_POSIX_CHARCLASS_START
static final int T_POSIX_CHARCLASS_START
- See Also:
- Constant Field Values
-
T_COMMENT
static final int T_COMMENT
- See Also:
- Constant Field Values
-
T_MODIFIERS
static final int T_MODIFIERS
- See Also:
- Constant Field Values
-
T_CONDITION
static final int T_CONDITION
- See Also:
- Constant Field Values
-
T_XMLSCHEMA_CC_SUBTRACTION
static final int T_XMLSCHEMA_CC_SUBTRACTION
- See Also:
- Constant Field Values
-
offset
int offset
-
regex
java.lang.String regex
-
regexlen
int regexlen
-
options
int options
-
resources
java.util.ResourceBundle resources
-
chardata
int chardata
-
nexttoken
int nexttoken
-
S_NORMAL
protected static final int S_NORMAL
- See Also:
- Constant Field Values
-
S_INBRACKETS
protected static final int S_INBRACKETS
- See Also:
- Constant Field Values
-
S_INXBRACKETS
protected static final int S_INXBRACKETS
- See Also:
- Constant Field Values
-
context
int context
-
parennumber
int parennumber
-
hasBackReferences
boolean hasBackReferences
-
references
java.util.Vector references
-
-
Method Detail
-
setLocale
public void setLocale(java.util.Locale locale)
-
ex
final ParseException ex(java.lang.String key, int loc)
-
isSet
private final boolean isSet(int flag)
-
parse
Token parse(java.lang.String regex, int options) throws ParseException
- 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- Throws:
ParseException
-
parseTerm
Token parseTerm() throws ParseException
term ::= factor+- Throws:
ParseException
-
processCaret
Token processCaret() throws ParseException
- Throws:
ParseException
-
processDollar
Token processDollar() throws ParseException
- Throws:
ParseException
-
processLookahead
Token processLookahead() throws ParseException
- Throws:
ParseException
-
processNegativelookahead
Token processNegativelookahead() throws ParseException
- Throws:
ParseException
-
processLookbehind
Token processLookbehind() throws ParseException
- Throws:
ParseException
-
processNegativelookbehind
Token processNegativelookbehind() throws ParseException
- Throws:
ParseException
-
processBacksolidus_A
Token processBacksolidus_A() throws ParseException
- Throws:
ParseException
-
processBacksolidus_Z
Token processBacksolidus_Z() throws ParseException
- Throws:
ParseException
-
processBacksolidus_z
Token processBacksolidus_z() throws ParseException
- Throws:
ParseException
-
processBacksolidus_b
Token processBacksolidus_b() throws ParseException
- Throws:
ParseException
-
processBacksolidus_B
Token processBacksolidus_B() throws ParseException
- Throws:
ParseException
-
processBacksolidus_lt
Token processBacksolidus_lt() throws ParseException
- Throws:
ParseException
-
processBacksolidus_gt
Token processBacksolidus_gt() throws ParseException
- Throws:
ParseException
-
processStar
Token processStar(Token tok) throws ParseException
- Throws:
ParseException
-
processPlus
Token processPlus(Token tok) throws ParseException
- Throws:
ParseException
-
processQuestion
Token processQuestion(Token tok) throws ParseException
- Throws:
ParseException
-
checkQuestion
boolean checkQuestion(int off)
-
processParen
Token processParen() throws ParseException
- Throws:
ParseException
-
processParen2
Token processParen2() throws ParseException
- Throws:
ParseException
-
processCondition
Token processCondition() throws ParseException
- Throws:
ParseException
-
processModifiers
Token processModifiers() throws ParseException
- Throws:
ParseException
-
processIndependent
Token processIndependent() throws ParseException
- Throws:
ParseException
-
processBacksolidus_c
Token processBacksolidus_c() throws ParseException
- Throws:
ParseException
-
processBacksolidus_C
Token processBacksolidus_C() throws ParseException
- Throws:
ParseException
-
processBacksolidus_i
Token processBacksolidus_i() throws ParseException
- Throws:
ParseException
-
processBacksolidus_I
Token processBacksolidus_I() throws ParseException
- Throws:
ParseException
-
processBacksolidus_g
Token processBacksolidus_g() throws ParseException
- Throws:
ParseException
-
processBacksolidus_X
Token processBacksolidus_X() throws ParseException
- Throws:
ParseException
-
processBackreference
Token processBackreference() throws ParseException
- 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]+- Throws:
ParseException
-
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- Throws:
ParseException
-
processBacksolidus_pP
protected RangeToken processBacksolidus_pP(int c) throws ParseException
- 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]- Throws:
ParseException
-
parseSetOperations
protected RangeToken parseSetOperations() throws ParseException
'(?[' ... ']' (('-' | '+' | '&') '[' ... ']')? ')'- Throws:
ParseException
-
getTokenForShorthand
Token getTokenForShorthand(int ch)
-
decodeEscaped
int decodeEscaped() throws ParseException
- Throws:
ParseException
-
hexChar
private static final int hexChar(int ch)
-
-