summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rwxr-xr-xdot.lua31
2 files changed, 33 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..b38f805
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+*.dot
+*.png
diff --git a/dot.lua b/dot.lua
new file mode 100755
index 0000000..8ef5685
--- /dev/null
+++ b/dot.lua
@@ -0,0 +1,31 @@
+#!/usr/bin/env lua
+local automaton = require "automaton"
+local init = {}
+for i=1, 25 do
+ table.insert(init, i)
+end
+init = automaton(init)
+
+
+local function dump_edges (state, prefix, color)
+ prefix = prefix or ""
+ color = color or "gray"
+ io.write(prefix, "edge [color=", color, "];\n")
+ for i, v in ipairs(state) do
+ io.write(prefix, string.format("%d -> %d;\n", v, i))
+ end
+end
+
+
+print[[
+digraph {
+ node [style=filled];
+ node [fillcolor="#ded"] 1 2 3 [fillcolor=green] 4 5 6 7 8 9;
+ node [fillcolor="#dde"] 10 11 12 13 14 15 16;
+ node [fillcolor="#fed"] 17 18 19 [fillcolor=red] 20 21 22 23 24 25;]]
+dump_edges(init:left(), "\t", "red")
+dump_edges(init:right(), "\t", "blue")
+dump_edges(init:pivot(), "\t", "aqua")
+dump_edges(init:up(), "\t", "purple")
+dump_edges(init:down(), "\t", "darkgreen")
+print"}"