Class REProgram

  • All Implemented Interfaces:
    java.io.Serializable

    public class REProgram
    extends java.lang.Object
    implements java.io.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 518156 2007-03-14 14:31:26Z vgritsenko $
    Author:
    Jonathan Locke
    See Also:
    RE, RECompiler, Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      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

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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.
      char[] getPrefix()
      Returns a copy of the prefix of current regular expression program in a character array.
      void setInstructions​(char[] instruction, int lenInstruction)
      Sets a new regular expression program to run.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • instruction

        char[] instruction
      • lenInstruction

        int lenInstruction
      • prefix

        char[] prefix
      • flags

        int flags
      • maxParens

        int maxParens
    • Constructor Detail

      • 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​(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
      • 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
    • Method Detail

      • 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
      • getPrefix

        public char[] getPrefix()
        Returns a copy of the prefix of current regular expression program in a character array. If there is no prefix, or there is no program compiled yet, getPrefix will return null.
        Returns:
        A copy of the prefix of current compiled RE program