Package net.sf.saxon.regex
Class RegexTranslator
- java.lang.Object
-
- net.sf.saxon.regex.RegexTranslator
-
- Direct Known Subclasses:
JDK15RegexTranslator
,SurrogateRegexTranslator
public abstract class RegexTranslator extends java.lang.Object
Abstract superclass for the various regex translators, which differ according to the target platform.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
RegexTranslator.Range
A Range represents a range of consecutive Unicode codepoints
-
Field Summary
Fields Modifier and Type Field Description static int
ALL
protected IntHashSet
captures
protected boolean
caseBlind
protected char
curChar
protected int
currentCapture
protected boolean
eos
protected boolean
ignoreWhitespace
protected boolean
inCharClassExpr
protected boolean
isXPath
protected int
length
static int
NONE
static java.lang.String
NOT_ALLOWED_CLASS
protected int
pos
protected java.lang.CharSequence
regExp
protected FastStringBuffer
result
static int
SOME
static java.lang.String
SURROGATES1_CLASS
static java.lang.String
SURROGATES2_CLASS
protected int
xmlVersion
-
Constructor Summary
Constructors Constructor Description RegexTranslator()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected int
absorbSurrogatePair()
protected void
advance()
protected void
copyCurChar()
protected void
expect(char c)
protected static java.lang.String
highSurrogateRanges(java.util.List ranges)
protected static boolean
isAsciiAlnum(char c)
protected static boolean
isBlock(java.lang.String name)
protected static boolean
isJavaMetaChar(int c)
protected static java.lang.String
lowSurrogateRanges(java.util.List ranges)
protected RegexSyntaxException
makeException(java.lang.String key)
protected RegexSyntaxException
makeException(java.lang.String key, java.lang.String arg)
protected java.lang.CharSequence
parseQuantExact()
protected void
recede()
protected static void
sortRangeList(java.util.List ranges)
protected abstract boolean
translateAtom()
protected void
translateBranch()
protected void
translateQuantifier()
protected void
translateQuantity()
protected void
translateRegExp()
protected void
translateTop()
-
-
-
Field Detail
-
regExp
protected java.lang.CharSequence regExp
-
xmlVersion
protected int xmlVersion
-
isXPath
protected boolean isXPath
-
ignoreWhitespace
protected boolean ignoreWhitespace
-
inCharClassExpr
protected boolean inCharClassExpr
-
caseBlind
protected boolean caseBlind
-
pos
protected int pos
-
length
protected int length
-
curChar
protected char curChar
-
eos
protected boolean eos
-
currentCapture
protected int currentCapture
-
captures
protected IntHashSet captures
-
result
protected final FastStringBuffer result
-
NONE
public static final int NONE
- See Also:
- Constant Field Values
-
SOME
public static final int SOME
- See Also:
- Constant Field Values
-
ALL
public static final int ALL
- See Also:
- Constant Field Values
-
SURROGATES1_CLASS
public static final java.lang.String SURROGATES1_CLASS
- See Also:
- Constant Field Values
-
SURROGATES2_CLASS
public static final java.lang.String SURROGATES2_CLASS
- See Also:
- Constant Field Values
-
NOT_ALLOWED_CLASS
public static final java.lang.String NOT_ALLOWED_CLASS
- See Also:
- Constant Field Values
-
-
Method Detail
-
translateTop
protected void translateTop() throws RegexSyntaxException
- Throws:
RegexSyntaxException
-
translateRegExp
protected void translateRegExp() throws RegexSyntaxException
- Throws:
RegexSyntaxException
-
translateBranch
protected void translateBranch() throws RegexSyntaxException
- Throws:
RegexSyntaxException
-
translateAtom
protected abstract boolean translateAtom() throws RegexSyntaxException
- Throws:
RegexSyntaxException
-
translateQuantifier
protected void translateQuantifier() throws RegexSyntaxException
- Throws:
RegexSyntaxException
-
translateQuantity
protected void translateQuantity() throws RegexSyntaxException
- Throws:
RegexSyntaxException
-
parseQuantExact
protected java.lang.CharSequence parseQuantExact() throws RegexSyntaxException
- Throws:
RegexSyntaxException
-
copyCurChar
protected void copyCurChar()
-
advance
protected void advance()
-
absorbSurrogatePair
protected int absorbSurrogatePair() throws RegexSyntaxException
- Throws:
RegexSyntaxException
-
recede
protected void recede()
-
expect
protected void expect(char c) throws RegexSyntaxException
- Throws:
RegexSyntaxException
-
makeException
protected RegexSyntaxException makeException(java.lang.String key)
-
makeException
protected RegexSyntaxException makeException(java.lang.String key, java.lang.String arg)
-
isJavaMetaChar
protected static boolean isJavaMetaChar(int c)
-
highSurrogateRanges
protected static java.lang.String highSurrogateRanges(java.util.List ranges)
-
lowSurrogateRanges
protected static java.lang.String lowSurrogateRanges(java.util.List ranges)
-
sortRangeList
protected static void sortRangeList(java.util.List ranges)
-
isBlock
protected static boolean isBlock(java.lang.String name)
-
isAsciiAlnum
protected static boolean isAsciiAlnum(char c)
-
-