org.opencores.JLex
Class CSimplifyNfa

java.lang.Object
  |
  +--org.opencores.JLex.CSimplifyNfa

class CSimplifyNfa
extends java.lang.Object

Extract character classes from NFA and simplify.


Field Summary
private  int[] ccls
           
private  int mapped_charset_size
           
private  int original_charset_size
           
 
Constructor Summary
(package private) CSimplifyNfa()
           
 
Method Summary
private  void computeClasses(CSpec m_spec)
          Compute minimum set of character classes needed to disambiguate edges.
(package private)  void simplify(CSpec m_spec)
           
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

ccls

private int[] ccls

original_charset_size

private int original_charset_size

mapped_charset_size

private int mapped_charset_size
Constructor Detail

CSimplifyNfa

CSimplifyNfa()
Method Detail

simplify

void simplify(CSpec m_spec)

computeClasses

private void computeClasses(CSpec m_spec)
Compute minimum set of character classes needed to disambiguate edges. We optimistically assume that every character belongs to a single character class, and then incrementally split classes as we see edges that require discrimination between characters in the class. [CSA, 25-Jul-1999]