diff options
| author | Jonas Maier <jonas@x77.dev> | 2026-06-02 21:31:50 +0200 |
|---|---|---|
| committer | Jonas Maier <jonas@x77.dev> | 2026-06-02 21:31:50 +0200 |
| commit | 5647a7645739fa2aa2dea4fe059b4efe84a278bc (patch) | |
| tree | b3471284c623f917037ba3e8379081afc3ca98de /src/parse/regex/dfa.rs | |
| parent | 5caaf765648b12a8b6002633f849f7fc4f1efc21 (diff) | |
| download | pish-5647a7645739fa2aa2dea4fe059b4efe84a278bc.tar.gz | |
seems to work
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()) - } -} |
