You signed in with another tab or window.Reload to refresh your session.You signed out in another tab or window.Reload to refresh your session.You switched accounts on another tab or window.Reload to refresh your session.Dismiss alert
This is a kind of generic FSA implementation.It was written to handle keystrokes, so there are no accepting statesbut each transition can trigger actions:
printing constant strings in the terminal:print "hi!"
broadcasting the same kind of strings in UDP:bc 2000 "HELLO EVERYONE"
Combinators allow you prioritizing automata:
a < b will produceb's actions whena doesn't
a || b will produce (at each step) actions froma andb, in this order
Tools
server.ml is a UDP server (for pranks, etc.)
run.ml is a combinator tester
dot.ml converts FSAs to graphs (seeExamples below)