|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.apache.regexp.RECompiler
A regular expression compiler class. This class compiles a pattern string into a regular expression program interpretable by the RE evaluator class. The 'recompile' command line tool uses this compiler to pre-compile regular expressions for use with RE. For a description of the syntax accepted by RECompiler and what you can do with regular expressions, see the documentation for the RE matcher class.
RE
,
recompile
Inner Class Summary | |
(package private) class |
RECompiler.RERange
Local, nested class for maintaining character ranges for character classes. |
Field Summary | |
(package private) static int[] |
bracketEnd
|
(package private) static int |
bracketFinished
|
(package private) static int[] |
bracketMin
|
(package private) static int[] |
bracketOpt
|
(package private) static int |
brackets
|
(package private) static int[] |
bracketStart
|
(package private) static int |
bracketUnbounded
|
(package private) static char |
ESC_BACKREF
|
(package private) static char |
ESC_CLASS
|
(package private) static char |
ESC_COMPLEX
|
(package private) static char |
ESC_MASK
|
(package private) static java.util.Hashtable |
hashPOSIX
|
(package private) int |
idx
|
(package private) char[] |
instruction
|
(package private) int |
len
|
(package private) int |
lenInstruction
|
(package private) static int |
maxBrackets
|
(package private) static int |
NODE_NORMAL
|
(package private) static int |
NODE_NULLABLE
|
(package private) static int |
NODE_TOPLEVEL
|
(package private) int |
parens
|
(package private) java.lang.String |
pattern
|
Constructor Summary | |
RECompiler()
Constructor. |
Method Summary | |
(package private) static void |
|
(package private) void |
allocBrackets()
Allocate storage for brackets only as needed |
(package private) int |
atom()
Absorb an atomic character string. |
(package private) void |
bracket()
Match bracket {m,n} expression put results in bracket member variables |
(package private) int |
branch(int[] flags)
Compile one branch of an or operator (implements concatenation) |
(package private) int |
characterClass()
Compile a character class |
(package private) int |
closure(int[] flags)
Compile a possibly closured terminal |
REProgram |
compile(java.lang.String pattern)
Compiles a regular expression pattern into a program runnable by the pattern matcher class 'RE'. |
(package private) void |
emit(char c)
Emit a single character into the program stream. |
(package private) void |
ensure(int n)
Ensures that n more characters can fit in the program buffer. |
(package private) char |
escape()
Match an escape sequence. |
(package private) int |
expr(int[] flags)
Compile an expression with possible parens around it. |
(package private) void |
internalError()
Throws a new internal error exception |
(package private) int |
node(char opcode,
int opdata)
Adds a new node |
(package private) void |
nodeInsert(char opcode,
int opdata,
int insertAt)
Inserts a node with a given opcode and opdata at insertAt. |
(package private) void |
setNextOfEnd(int node,
int pointTo)
Appends a node to the end of a node chain |
(package private) void |
syntaxError(java.lang.String s)
Throws a new syntax error exception |
(package private) int |
terminal(int[] flags)
Match a terminal node. |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
registerNatives,
toString,
wait,
wait,
wait |
Field Detail |
char[] instruction
int lenInstruction
java.lang.String pattern
int len
int idx
int parens
static final int NODE_NORMAL
static final int NODE_NULLABLE
static final int NODE_TOPLEVEL
static final char ESC_MASK
static final char ESC_BACKREF
static final char ESC_COMPLEX
static final char ESC_CLASS
static final int maxBrackets
static int brackets
static int[] bracketStart
static int[] bracketEnd
static int[] bracketMin
static int[] bracketOpt
static final int bracketUnbounded
static final int bracketFinished
static java.util.Hashtable hashPOSIX
Constructor Detail |
public RECompiler()
Method Detail |
static void()
void ensure(int n)
n
- Number of additional characters to ensure will fit.void emit(char c)
c
- Character to addvoid nodeInsert(char opcode, int opdata, int insertAt)
opcode
- Opcode for new nodeopdata
- Opdata for new node (only the low 16 bits are currently used)insertAt
- Index at which to insert the new node in the programvoid setNextOfEnd(int node, int pointTo)
node
- Start of node chain to traversepointTo
- Node to have the tail of the chain point toint node(char opcode, int opdata)
opcode
- Opcode for nodeopdata
- Opdata for node (only the low 16 bits are currently used)void internalError() throws java.lang.Error
void syntaxError(java.lang.String s) throws RESyntaxException
void allocBrackets()
void bracket() throws RESyntaxException
char escape() throws RESyntaxException
int characterClass() throws RESyntaxException
int atom() throws RESyntaxException
int terminal(int[] flags) throws RESyntaxException
flags
- Flagsint closure(int[] flags) throws RESyntaxException
flags
- Flags passed by referenceint branch(int[] flags) throws RESyntaxException
flags
- Flags passed by referenceint expr(int[] flags) throws RESyntaxException
flags
- Flag value passed by referencepublic REProgram compile(java.lang.String pattern) throws RESyntaxException
pattern
- Regular expression pattern to compile (see RECompiler class
for details).RECompiler
,
RE
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |