private long nfanode ( Subre t ) throws RegexException { long ret ; assert t . begin != null ; if ( LOG . isDebugEnabled ( ) && IS_DEBUG ) { LOG . debug ( String . format ( "========= TREE NODE %s ==========" , t . shortId ( ) ) ) ; } Nfa newNfa = new Nfa ( nfa ) ; newNfa . dupnfa ( t . begin , t . end , newNfa . init , newNfa . finalState ) ; newNfa . specialcolors ( ) ; ret = newNfa . optimize ( ) ; t . cnfa = newNfa . compact ( ) ; // freenfa ... depend on our friend the GC. return ret ; }
nfanode - do one NFA for nfatree