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