diff options
author | Nathan Lasseter <nathan.je.lasseter@googlemail.com> | 2013-03-23 22:10:22 +0000 |
---|---|---|
committer | Nathan Lasseter <nathan.je.lasseter@googlemail.com> | 2013-03-23 22:10:22 +0000 |
commit | 771cdb55c4a30be16ddafebc9b43f087765f9876 (patch) | |
tree | e4593a3c31f9cbced6d5e8ea81e7b788bbb5afd5 /README |
First commit
Diffstat (limited to 'README')
-rw-r--r-- | README | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -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. |