JFlex
Class RegExp

java.lang.Object
  extended by JFlex.RegExp
Direct Known Subclasses:
RegExp1, RegExp2

public class RegExp
extends java.lang.Object

Stores a regular expression of rules section in a JFlex-specification. This base class has no content other than its type.


Constructor Summary
RegExp(int type)
          Create a new regular expression of the specified type.
 
Method Summary
 RegExp anyChar()
          Returns a regexp that matches any character: [^]
 boolean isCharClass(Macros macros)
          Find out if this regexp is a char class or equivalent to one.
 java.lang.String print(java.lang.String tab)
          Returns a String-representation of this regular expression with the specified indentation.
 RegExp resolveTilde(Macros macros)
          Recursively convert tilde (upto) expressions into negation and star.
 RegExp rev(Macros macros)
          Create a new regexp that matches the reverse text of this one.
static java.lang.String revString(java.lang.String s)
           
 int size(Macros macros)
          The approximate number of NFA states this expression will need (only works correctly after macro expansion and without negation)
 java.lang.String toString()
          Returns a String-representation of this regular expression
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RegExp

public RegExp(int type)
Create a new regular expression of the specified type.

Parameters:
type - a value from the cup generated class sym.
See Also:
sym
Method Detail

print

public java.lang.String print(java.lang.String tab)
Returns a String-representation of this regular expression with the specified indentation.

Parameters:
tab - a String that should contain only space characters and that is inserted in front of standard String-representation pf this object.

toString

public java.lang.String toString()
Returns a String-representation of this regular expression

Overrides:
toString in class java.lang.Object

isCharClass

public boolean isCharClass(Macros macros)
Find out if this regexp is a char class or equivalent to one.

Parameters:
macros - for macro expansion
Returns:
true if the regexp is equivalent to a char class.

size

public int size(Macros macros)
The approximate number of NFA states this expression will need (only works correctly after macro expansion and without negation)

Parameters:
macros - macro table for expansion

revString

public static final java.lang.String revString(java.lang.String s)
Returns:
the reverse of the specified string.

resolveTilde

public final RegExp resolveTilde(Macros macros)
Recursively convert tilde (upto) expressions into negation and star.

Parameters:
macros - the macro table for expansion.
Returns:
new RegExp equivalent to the current one, but without upto expressions.

anyChar

public RegExp anyChar()
Returns a regexp that matches any character: [^]

Returns:
the regexp for [^]

rev

public final RegExp rev(Macros macros)
Create a new regexp that matches the reverse text of this one.

Returns:
the reverse regexp