## 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
`static class` `RegexTranslator.Range` A Range represents a range of consecutive Unicode codepoints

Field Summary
`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
`RegexTranslator()`

Method Summary
`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()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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

Constructor Detail

### RegexTranslator

    public RegexTranslator()

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)

Copyright (c) Saxonica Limited. All rights reserved.