summaryrefslogtreecommitdiff
path: root/Cython/Plex/DFA.pxd
diff options
context:
space:
mode:
Diffstat (limited to 'Cython/Plex/DFA.pxd')
-rw-r--r--Cython/Plex/DFA.pxd30
1 files changed, 30 insertions, 0 deletions
diff --git a/Cython/Plex/DFA.pxd b/Cython/Plex/DFA.pxd
new file mode 100644
index 000000000..226d07567
--- /dev/null
+++ b/Cython/Plex/DFA.pxd
@@ -0,0 +1,30 @@
+# cython: auto_pickle=False
+
+cimport cython
+
+from . cimport Machines
+from .Transitions cimport TransitionMap
+
+
+@cython.final
+cdef class StateMap:
+ cdef Machines.FastMachine new_machine
+ cdef dict old_to_new_dict
+ cdef dict new_to_old_dict
+
+ cdef old_to_new(self, dict old_state_set)
+
+ @cython.locals(state=Machines.Node)
+ cdef highest_priority_action(self, dict state_set)
+
+ cdef make_key(self, dict state_set)
+
+
+@cython.locals(new_machine=Machines.FastMachine, transitions=TransitionMap)
+cpdef nfa_to_dfa(Machines.Machine old_machine, debug=*)
+
+cdef set_epsilon_closure(dict state_set)
+cdef dict epsilon_closure(Machines.Node state)
+
+@cython.locals(state_set_2=dict, state2=Machines.Node)
+cdef add_to_epsilon_closure(dict state_set, Machines.Node state)