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.ObjectA 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 classRegexParser.ReferencePosition
-
Field Summary
Fields Modifier and Type Field Description (package private) intchardata(package private) intcontext(package private) booleanhasBackReferences(package private) intnexttoken(package private) intoffset(package private) intoptions(package private) intparennumber(package private) java.util.Vectorreferences(package private) java.lang.Stringregex(package private) intregexlen(package private) java.util.ResourceBundleresourcesprotected static intS_INBRACKETSprotected static intS_INXBRACKETSprotected static intS_NORMAL(package private) static intT_BACKSOLIDUS(package private) static intT_CARET(package private) static intT_CHAR(package private) static intT_COMMENT(package private) static intT_CONDITION(package private) static intT_DOLLAR(package private) static intT_DOT(package private) static intT_EOF(package private) static intT_INDEPENDENT(package private) static intT_LBRACKET(package private) static intT_LOOKAHEAD(package private) static intT_LOOKBEHIND(package private) static intT_LPAREN(package private) static intT_LPAREN2(package private) static intT_MODIFIERS(package private) static intT_NEGATIVELOOKAHEAD(package private) static intT_NEGATIVELOOKBEHIND(package private) static intT_OR(package private) static intT_PLUS(package private) static intT_POSIX_CHARCLASS_START(package private) static intT_QUESTION(package private) static intT_RPAREN(package private) static intT_SET_OPERATIONS(package private) static intT_STAR(package private) static intT_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) booleancheckQuestion(int off)(package private) intdecodeEscaped()(package private) ParseExceptionex(java.lang.String key, int loc)(package private) TokengetTokenForShorthand(int ch)private static inthexChar(int ch)private booleanisSet(int flag)(package private) voidnext()(package private) Tokenparse(java.lang.String regex, int options)(package private) TokenparseAtom()atom ::= char | '.' | char-class | '(' regex ')' | '(?:' regex ')' | '\' [0-9] | '\w' | '\W' | '\d' | '\D' | '\s' | '\S' | category-block | '(?>' regex ')' char ::= '\\' | '\' [efnrt] | bmp-code | character-1protected RangeTokenparseCharacterClass(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) TokenparseFactor()factor ::= ('^' | '$' | '\A' | '\Z' | '\z' | '\b' | '\B' | '\<' | '\>' | atom (('*' | '+' | '?' | minmax ) '?'? )?) | '(?=' regex ')' | '(?!' regex ')' | '(?<=' regex ')' | '(?<!' regex ')' | '(?#' [^)]* ')' minmax ::= '{' min (',' max?)? '}' min ::= [0-9]+ max ::= [0-9]+(package private) TokenparseRegex()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 RangeTokenparseSetOperations()'(?[' ...(package private) TokenparseTerm()term ::= factor+(package private) TokenprocessBackreference()(package private) TokenprocessBacksolidus_A()(package private) TokenprocessBacksolidus_b()(package private) TokenprocessBacksolidus_B()(package private) TokenprocessBacksolidus_c()(package private) TokenprocessBacksolidus_C()(package private) TokenprocessBacksolidus_g()(package private) TokenprocessBacksolidus_gt()(package private) TokenprocessBacksolidus_i()(package private) TokenprocessBacksolidus_I()(package private) TokenprocessBacksolidus_lt()protected RangeTokenprocessBacksolidus_pP(int c)(package private) TokenprocessBacksolidus_X()(package private) TokenprocessBacksolidus_z()(package private) TokenprocessBacksolidus_Z()(package private) TokenprocessCaret()(package private) intprocessCIinCharacterClass(RangeToken tok, int c)(package private) TokenprocessCondition()(package private) TokenprocessDollar()(package private) TokenprocessIndependent()(package private) TokenprocessLookahead()(package private) TokenprocessLookbehind()(package private) TokenprocessModifiers()(package private) TokenprocessNegativelookahead()(package private) TokenprocessNegativelookbehind()(package private) TokenprocessParen()(package private) TokenprocessParen2()(package private) TokenprocessPlus(Token tok)(package private) TokenprocessQuestion(Token tok)(package private) TokenprocessStar(Token tok)(package private) intread()protected voidsetContext(int con)voidsetLocale(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)
-
-