digraph pdf { entry -> {while; D}; entry [style = filled]; while [label = "while (X)", style = filled]; while -> {"if (Y)" C}; C [style = "bold,filled"]; "if (Y)" -> C [label = 2]; "if (Y)" [style = filled]; "if (Y)" -> {"if (Z)" B break2}; "if (Z)" -> {A break1}; "if (Z)" [style = filled, color = lightblue]; "if (Z)" -> {B break2} [label = 1]; break1 -> {B break2} [label = 1]; break2 -> {C while} [label = 2]; {rank=same; A break1 B break2} break1 [label = "break 1", style = filled, color = lightblue]; break2 [label = "break 2", style = filled]; {rank=same; "if (Z)" C} {rank=same; while D} {edge [style=invis]; A -> break1 -> B -> break2; } }