Files
Construction-of-Compilers/Project-02-03-04/final_cfg.dot
Jan-Niclas Loosen c66222050b first running version
2026-01-22 00:18:15 +01:00

57 lines
1.4 KiB
Plaintext

digraph CFG {
node [fontname="Helvetica"];
n32 [label="3", shape=box];
n32 -> n33;
n33 [label="CALL f(3)", shape=box, style=filled, color=orange];
n33 -> n4;
n4 [label="START f(x)", shape=box, style=filled, color=green];
n4 -> n6;
n6 [label="2", shape=box];
n6 -> n7;
n7 [label="x", shape=box];
n7 -> n8;
n8 [label="(2 * x)", shape=box];
n8 -> n9;
n9 [label="x = (2 * x)", shape=box];
n9 -> n10;
n10 [label="x", shape=box];
n10 -> n11;
n11 [label="0", shape=box];
n11 -> n12;
n12 [label="(x > 0)", shape=box];
n12 -> n13;
n13 [label="<>", shape=diamond];
n13 -> n17 [label="T"];
n17 [label="x", shape=box];
n17 -> n18;
n18 [label="1", shape=box];
n18 -> n19;
n19 [label="(x - 1)", shape=box];
n19 -> n20;
n20 [label="x = (x - 1)", shape=box];
n20 -> n22;
n22 [label="x", shape=box];
n22 -> n23;
n23 [label="0", shape=box];
n23 -> n24;
n24 [label="(x > 0)", shape=box];
n24 -> n25;
n25 [label="<>", shape=diamond];
n25 -> n27 [label="T"];
n27 [label="x", shape=box];
n27 -> n28;
n28 [label="1", shape=box];
n28 -> n29;
n29 [label="(x - 1)", shape=box];
n29 -> n30;
n30 [label="x = (x - 1)", shape=box];
n30 -> n22;
n25 -> n5 [label="F"];
n5 [label="END f(x)", shape=box, style=filled, color=green];
n5 -> n35;
n35 [label="RET f(3)", shape=box, style=filled, color=orange];
n13 -> n21 [label="F"];
n21 [label="x", shape=box];
n21 -> n22;
n33 -> n35;
}