let extract_nfa nfa s f = let newnfa = copy_nfa nfa in let newfinal = new_state newnfa in add_trans newnfa f Epsilon newfinal; newnfa.f <- newfinal; newnfa.s <- s; elim_dead_states newnfa; newnfa