aboutsummaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
Diffstat (limited to 'README')
-rw-r--r--README20
1 files changed, 20 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..6ec4d1f
--- /dev/null
+++ b/README
@@ -0,0 +1,20 @@
+If an emulation of a machine is a virtual machine, then this is VFSM: the Virtual Finite State Machine.
+
+Usage is: ruby vfsm.rb <machine description file> <input>
+
+A Machine description must have:
+ * A Nodes: line, followed by space separated node ids
+ * A Start: line, followed by the starting node id
+ * An Accept: line, followed by space separated node ids which may accept
+ * An Edges: line, followed by edge definition lines and an End: line
+
+There may be any number of Comment: lines which are unsurprisingly ignored.
+
+An edge definition line must have:
+ * The source node
+ * The input to accept
+ * The destination node
+
+The input is a string of space separated input tokens.
+
+See the examples.