diff options
Diffstat (limited to 'bird-machine-macros/src/nfa.rs')
-rw-r--r-- | bird-machine-macros/src/nfa.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/bird-machine-macros/src/nfa.rs b/bird-machine-macros/src/nfa.rs new file mode 100644 index 0000000..b7b3612 --- /dev/null +++ b/bird-machine-macros/src/nfa.rs @@ -0,0 +1,15 @@ +use std::collections::{HashMap, HashSet}; + +#[derive(Default)] +pub struct NFA { + state_count: usize, + transition_table: HashMap<Option<char>, HashSet<usize>>, +} + +impl NFA { + pub fn new_state(&mut self) -> usize { + let result = self.state_count; + self.state_count += 1; + result + } +} |