macro-machines 0.8.1

State machine macros with logging and graphviz DOT file generation
Documentation
digraph {
  rankdir=LR
  node [shape=record, style=rounded, fontname="Sans Bold"]
  edge [fontname="Sans"]
  subgraph cluster_Door {
    label=<Door<FONT FACE="Mono"><BR/><BR/>
open&#x5F;count&#x20;&#x3A;&#x20;u64<BR ALIGN="LEFT"/>@ door<BR ALIGN="CENTER"/>
      </FONT><BR/>>
    shape=record
    style=rounded
    fontname="Sans Bold Italic"
    INITIAL [label="", shape=circle, width=0.2, style=filled, fillcolor=black]
    Closed [label=<<B>Closed</B>|<FONT FACE="Mono"><BR/>
knock&#x5F;count&#x20;&#x3A;&#x20;u64<BR ALIGN="LEFT"/></FONT>>]
    Opened [label=<<B>Opened</B>>]
    INITIAL -> Closed
    "Closed" -> "Closed" [label=<<FONT FACE="Sans Italic">Knock</FONT><FONT FACE="Mono"><BR/>&#x7B;&#x20;&#x2A;knock&#x5F;count&#x20;&#x2B;&#x3D;&#x20;1&#x3B;&#x20;&#x7D;</FONT>>]
    "Closed" -> "Opened" [label=<<FONT FACE="Sans Italic">Open</FONT><FONT FACE="Mono"><BR/>&#x7B;&#x20;&#x2A;open&#x5F;count&#x20;&#x2B;&#x3D;&#x20;1&#x3B;&#x20;&#x7D;</FONT>>]
    "Opened" -> "Closed" [label=<<FONT FACE="Sans Italic">Close</FONT>>]
    TERMINAL [label="", shape=doublecircle, width=0.2,
      style=filled, fillcolor=black]
    Closed -> TERMINAL
  }
}