automat
automat copied to clipboard
better automata through combinators
Added necessary epsilon transitions in 'maybe' and 'kleene' functions
We discussed this on Slack briefly. I got this using a plain clojure.main repl. I've generated a few data sets using test.check, I've used 1055 as the length of input....
For example: `(view [:x (a/* (a/* :y) :z)])` Should be generated: `(view [:x (a/* (a/or [(a/+ :y) :z] :z))])`
If you mis-spell the name of a reducer function, it will be ignored silently, e.g.: ```clojure (let [fsm (a/compile [:foo :bar (a/$ :baar)] {:reducers {:bar (fn [state _] (assoc state...
Hello, As FSM's can be represented by both a state diagram and a state transition table, I think it would be really nice if the lib could generate such tables....
I'm trying to express the concept of valid transitions between states for one of the domain entities in my system. I have an fsm that does this nicely: `[1 (a/*...
Related to #23, the other question I'm interested in asking the fsm is, given the current state, what inputs _would be valid_. This would allow me to return to the...
Thanks for this amazing library Zach. You may want to mention in the README.md that automat uses rhizome which in turn leverages Graphviz and that you need to have it...
First of all, thanks for the wonderful library! I'm trying to study FSM applications and doing some exercises. Suddenly I bumped into an issue: This works: ``` (view (a/interpose-$ 42...
The construction of the complement of an automaton (automat.fsm/complement) is wrong, as it appears by inspecting the svg of the complement of a, or of the complement of a*. Currently...