tfm-slides/figs/problem2-sol1.dot
2019-12-19 13:03:04 +01:00

30 lines
No EOL
778 B
Text

digraph g {
"f()" [shape=box, rank=min]; // , style = filled];
// Rank adjustment
{ node []; // [style=filled]
{ rank = same; "int a = 1"; "while (a > 0)"; }
"if (a > 10)"; break;
}
{ rank = same; "log(a)"; "a++"; }
{ rank = max; "a++"; "log(a)"; }
"a++" [style="bold"];
// Control flow
"f()" -> "while (a > 0)";
"f()" -> "int a = 1";
"while (a > 0)" -> "if (a > 10)";
"if (a > 10)" -> "break";
"break" -> "log(a)";
"break" -> "a++";
"break" -> "while (a > 0)";
// Data flow
{ edge [color = red];
"int a = 1" -> "while (a > 0)";
"int a = 1" -> "if (a > 10)";
"int a = 1" -> "log(a)";
"int a = 1" -> "a++";
"a++" -> "a++";
"a++" -> "while (a > 0)";
"a++" -> "if (a > 10)";
"a++" -> "log(a)" [constraint = true];
}
}