aboutsummaryrefslogtreecommitdiffstats
path: root/src/parse/regex/dfa.rs
diff options
context:
space:
mode:
authorJonas Maier <jonas@x77.dev>2026-06-02 21:31:50 +0200
committerJonas Maier <jonas@x77.dev>2026-06-02 21:31:50 +0200
commit5647a7645739fa2aa2dea4fe059b4efe84a278bc (patch)
treeb3471284c623f917037ba3e8379081afc3ca98de /src/parse/regex/dfa.rs
parent5caaf765648b12a8b6002633f849f7fc4f1efc21 (diff)
downloadpish-5647a7645739fa2aa2dea4fe059b4efe84a278bc.tar.gz
seems to work
Diffstat (limited to 'src/parse/regex/dfa.rs')
-rw-r--r--src/parse/regex/dfa.rs14
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())
- }
-}