try to improve diagrams

This commit is contained in:
Jan-Niclas Loosen
2026-01-21 21:58:56 +01:00
parent dfd4b4f305
commit 36ef2fd23d
4 changed files with 143 additions and 92 deletions

View File

@@ -0,0 +1,64 @@
digraph CFG {
node [fontname="Helvetica"];
n31 [label="START", shape=circle];
n31 -> n59;
n59 [label="f(2,3)", shape=box];
n59 -> n33;
n33 [label="f(['x', 'y', 'z']) { y = 2; z = 3; let g(['x']) { x = 7; if ((y > 0)) then { g(y) } else { x = 8 }; x } in (g(x) + x) }", shape=box];
n33 -> n35;
n35 [label="2", shape=box];
n35 -> n36;
n36 [label="y = 2", shape=box];
n36 -> n37;
n37 [label="3", shape=box];
n37 -> n38;
n38 [label="z = 3", shape=box];
n38 -> n55;
n55 [label="g(x)", shape=box];
n55 -> n39;
n39 [label="g(['x']) { x = 7; if ((y > 0)) then { g(y) } else { x = 8 }; x }", shape=box];
n39 -> n41;
n41 [label="7", shape=box];
n41 -> n42;
n42 [label="x = 7", shape=box];
n42 -> n43;
n43 [label="y", shape=box];
n43 -> n44;
n44 [label="0", shape=box];
n44 -> n45;
n45 [label="(y > 0)", shape=box];
n45 -> n46;
n46 [label="(y > 0)", shape=diamond];
n46 -> n47;
n47 [label="", shape=box];
n47 -> n50;
n50 [label="g(y)", shape=box];
n50 -> n39;
n46 -> n48;
n48 [label="", shape=box];
n48 -> n52;
n52 [label="8", shape=box];
n52 -> n53;
n53 [label="x = 8", shape=box];
n53 -> n49;
n49 [label="", shape=box];
n49 -> n54;
n54 [label="x", shape=box];
n54 -> n40;
n40 [label="g(['x']) { x = 7; if ((y > 0)) then { g(y) } else { x = 8 }; x }", shape=box];
n40 -> n51;
n51 [label="", shape=box];
n51 -> n49;
n40 -> n56;
n56 [label="", shape=box];
n56 -> n57;
n57 [label="x", shape=box];
n57 -> n58;
n58 [label="(g(x) + x)", shape=box];
n58 -> n34;
n34 [label="f(['x', 'y', 'z']) { y = 2; z = 3; let g(['x']) { x = 7; if ((y > 0)) then { g(y) } else { x = 8 }; x } in (g(x) + x) }", shape=box];
n34 -> n60;
n60 [label="", shape=box];
n60 -> n32;
n32 [label="END", shape=doublecircle];
}