strict digraph { node [shape="oval"]; nullptr; busy[label="Busy"]; symbol[label="Symbol *"]; compilationref[label="CompilationRef *"]; nullptr -> busy -> {symbol compilationref}; { rank = same; compilationref; symbol; } symbol -> busy [label="(1)"]; compilationref -> busy [label="(2)"]; compilationref -> symbol [label="(3)"]; }