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.ObjectAbstract superclass for the various regex translators, which differ according to the target platform.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classRegexTranslator.RangeA Range represents a range of consecutive Unicode codepoints
-
Field Summary
Fields Modifier and Type Field Description static intALLprotected IntHashSetcapturesprotected booleancaseBlindprotected charcurCharprotected intcurrentCaptureprotected booleaneosprotected booleanignoreWhitespaceprotected booleaninCharClassExprprotected booleanisXPathprotected intlengthstatic intNONEstatic java.lang.StringNOT_ALLOWED_CLASSprotected intposprotected java.lang.CharSequenceregExpprotected FastStringBufferresultstatic intSOMEstatic java.lang.StringSURROGATES1_CLASSstatic java.lang.StringSURROGATES2_CLASSprotected intxmlVersion
-
Constructor Summary
Constructors Constructor Description RegexTranslator()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected intabsorbSurrogatePair()protected voidadvance()protected voidcopyCurChar()protected voidexpect(char c)protected static java.lang.StringhighSurrogateRanges(java.util.List ranges)protected static booleanisAsciiAlnum(char c)protected static booleanisBlock(java.lang.String name)protected static booleanisJavaMetaChar(int c)protected static java.lang.StringlowSurrogateRanges(java.util.List ranges)protected RegexSyntaxExceptionmakeException(java.lang.String key)protected RegexSyntaxExceptionmakeException(java.lang.String key, java.lang.String arg)protected java.lang.CharSequenceparseQuantExact()protected voidrecede()protected static voidsortRangeList(java.util.List ranges)protected abstract booleantranslateAtom()protected voidtranslateBranch()protected voidtranslateQuantifier()protected voidtranslateQuantity()protected voidtranslateRegExp()protected voidtranslateTop()
-
-
-
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)
-
-