aboutsummaryrefslogtreecommitdiff
path: root/bird-machine-macros/src/nfa.rs
diff options
context:
space:
mode:
Diffstat (limited to 'bird-machine-macros/src/nfa.rs')
-rw-r--r--bird-machine-macros/src/nfa.rs15
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
+ }
+}