diff options
Diffstat (limited to 'src/parse/regex/dfa.rs')
| -rw-r--r-- | src/parse/regex/dfa.rs | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/src/parse/regex/dfa.rs b/src/parse/regex/dfa.rs index 78888a2..243176d 100644 --- a/src/parse/regex/dfa.rs +++ b/src/parse/regex/dfa.rs @@ -3,7 +3,7 @@ use std::collections::HashMap; use super::{ byte_range::ByteRange, - enfa::{ENFA, Epsilon, MultiState, Resolved}, + enfa::{ENFA, MultiState}, }; pub type StateId = usize; @@ -60,10 +60,12 @@ impl DFA { } } -impl From<ENFA<Resolved>> for DFA { - fn from(mut nfa: ENFA<Resolved>) -> Self { +impl From<ENFA> for DFA { + fn from(mut nfa: ENFA) -> Self { nfa.remove_unreachable(); + println!("{nfa:?}"); + let mut multi_states = nfa.all_multi_states(); multi_states.insert(nfa.void_multi_state()); let mut len = 0; @@ -101,9 +103,3 @@ impl From<ENFA<Resolved>> for DFA { } } } - -impl From<ENFA<Epsilon>> for DFA { - fn from(value: ENFA<Epsilon>) -> Self { - Self::from(value.resolve_epsilon()) - } -} |
