From 771cdb55c4a30be16ddafebc9b43f087765f9876 Mon Sep 17 00:00:00 2001 From: Nathan Lasseter Date: Sat, 23 Mar 2013 22:10:22 +0000 Subject: First commit --- README | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 README (limited to 'README') 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 + +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. -- cgit v1.2.3