digraph DFA { size = "8 11"; subgraph cluster0 { label = "even scanline"; color = red; fontcolor = red; even_line_0 [label = "flush", shape = doublecircle]; even_line_1 [label = ""]; } subgraph cluster1 { label = "odd scanline"; color = green; fontcolor = green; odd_line_0 [label = "flush"]; odd_line_1 [label = ""]; } // Skip odd characters even_line_0 -> even_line_1 [label = "?"]; even_line_0 -> odd_line_0 [label = "\\n"]; even_line_1 -> even_line_0 [label = "?"]; even_line_1 -> odd_line_0 [label = "\\n"]; // Skip odd lines odd_line_0 -> odd_line_1 [label = "?"]; odd_line_0 -> even_line_1 [label = "\\n"]; odd_line_1 -> odd_line_1 [label = "?"]; odd_line_1 -> even_line_1 [label = "\\n"]; }