digraph "" { md [label="document source\n(Markdown)"]; md [shape=box]; bindings [label="bindings file\n(YAML)"]; bindings [shape=box]; impl [label="step implementations\n(Python, Rust, ...)"] impl [shape=box]; docgen [label="Doc generator"]; docgen [shape=ellipse]; codegen [label="Code generator"]; codegen [shape=ellipse]; pdf [label="PDF/HTML document"] pdf [shape=diamond]; testprog [label="Test program\n(generated)"] testprog [shape=box]; report [label="Test report"] report [shape=diamond]; md -> docgen; bindings -> docgen; docgen -> pdf; md -> codegen; bindings -> codegen; impl -> codegen; codegen -> testprog; testprog -> report; }