org.apache.regexp

Class REProgram

Implemented Interfaces:
Serializable

public class REProgram
extends java.lang.Object
implements Serializable

A class that holds compiled regular expressions. This is exposed mainly for use by the recompile utility (which helps you produce precompiled REProgram objects). You should not otherwise need to work directly with this class.

Version:
$Id: REProgram.java 232192 2005-08-12 03:04:07Z vgritsenko $

Author:
Jonathan Locke

See Also:
RE, RECompiler

Field Summary

(package private) static int
OPT_HASBACKREFS
(package private) static int
OPT_HASBOL
(package private) int
flags
(package private) char[]
instruction
(package private) int
lenInstruction
(package private) int
maxParens
(package private) char[]
prefix

Constructor Summary

REProgram(char[] instruction)
Constructs a program object from a character array
REProgram(char[] instruction, int lenInstruction)
Constructs a program object from a character array
REProgram(int parens, char[] instruction)
Constructs a program object from a character array

Method Summary

char[]
getInstructions()
Returns a copy of the current regular expression program in a character array that is exactly the right length to hold the program.
void
setInstructions(char[] instruction, int lenInstruction)
Sets a new regular expression program to run.

Field Details

OPT_HASBACKREFS

(package private) static final int OPT_HASBACKREFS

Field Value:
1


OPT_HASBOL

(package private) static final int OPT_HASBOL

Field Value:
2


flags

(package private)  int flags


instruction

(package private)  char[] instruction


lenInstruction

(package private)  int lenInstruction


maxParens

(package private)  int maxParens


prefix

(package private)  char[] prefix

Constructor Details

REProgram

public REProgram(char[] instruction)
Constructs a program object from a character array

Parameters:
instruction - Character array with RE opcode instructions in it


REProgram

public REProgram(char[] instruction,
                 int lenInstruction)
Constructs a program object from a character array

Parameters:
instruction - Character array with RE opcode instructions in it
lenInstruction - Amount of instruction array in use


REProgram

public REProgram(int parens,
                 char[] instruction)
Constructs a program object from a character array

Parameters:
parens - Count of parens in the program
instruction - Character array with RE opcode instructions in it

Method Details

getInstructions

public char[] getInstructions()
Returns a copy of the current regular expression program in a character array that is exactly the right length to hold the program. If there is no program compiled yet, getInstructions() will return null.

Returns:
A copy of the current compiled RE program


setInstructions

public void setInstructions(char[] instruction,
                            int lenInstruction)
Sets a new regular expression program to run. It is this method which performs any special compile-time search optimizations. Currently only two optimizations are in place - one which checks for backreferences (so that they can be lazily allocated) and another which attempts to find an prefix anchor string so that substantial amounts of input can potentially be skipped without running the actual program.

Parameters:
instruction - Program instruction buffer
lenInstruction - Length of instruction buffer in use


Copyright © 2001-2003 Apache Software Foundation. All Rights Reserved.