Skip to content

Circular state machine

Engine
circo
Command, both sides
dot -Kcirco -Tsvg input.gv
Features
edge labelsself-loops
Result
identical on macOSidentical under portable math
Comparing…
C Graphviz 16.1.0 output, cyan plategraphviz-pure, native macOS build output, magenta plate

C onlyport onlyboth: in register

Input

fsm.gv
digraph finite_state_machine {
node [shape = doublecircle]; LR_0 LR_3 LR_4 LR_8;
node [shape = circle];
rankdir=LR;
LR_0 -> LR_2 [ label = "SS(B)" ];
LR_0 -> LR_1 [ label = "SS(S)" ];
LR_1 -> LR_3 [ label = "S($end)" ];
LR_2 -> LR_6 [ label = "SS(b)" ];
LR_2 -> LR_5 [ label = "SS(a)" ];
LR_2 -> LR_4 [ label = "S(A)" ];
LR_5 -> LR_7 [ label = "S(b)" ];
LR_5 -> LR_5 [ label = "S(a)" ];
LR_6 -> LR_6 [ label = "S(b)" ];
LR_6 -> LR_5 [ label = "S(a)" ];
LR_7 -> LR_8 [ label = "S(b)" ];
LR_7 -> LR_5 [ label = "S(a)" ];
LR_8 -> LR_6 [ label = "S(b)" ];
LR_8 -> LR_5 [ label = "S(a)" ];
}

Files

FileBytesSHA-256
input.gv605
c.svg C9,5123d2f65dfae1ed8ddedbc3ad0e7b23354af70be56e143b5f4182eed929b8bdd4d
rust.svg Rust9,523975be16873fbb80790e1fd44e6c8a79b2a33c933575698bc2262aa274a1bb462

The two hashes differ even when the outputs are identical, because each file keeps its own generator comment. Made by scripts/site-samples.sh.