summaryrefslogtreecommitdiff
path: root/docs/chapter07/07-graph1.gv
diff options
context:
space:
mode:
Diffstat (limited to 'docs/chapter07/07-graph1.gv')
-rw-r--r--docs/chapter07/07-graph1.gv107
1 files changed, 107 insertions, 0 deletions
diff --git a/docs/chapter07/07-graph1.gv b/docs/chapter07/07-graph1.gv
new file mode 100644
index 00000000..5957a931
--- /dev/null
+++ b/docs/chapter07/07-graph1.gv
@@ -0,0 +1,107 @@
+digraph chapter07 {
+/*
+while(arg < 10) {
+ arg = arg + 1;
+
+}
+return arg;
+
+*/
+ rankdir=BT;
+ ordering="in";
+ concentrate="true";
+ compound="true";
+ subgraph cluster_Nodes {
+ Start2 [ shape=plaintext label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
+ <TR><TD BGCOLOR="yellow">Start</TD></TR>
+ <TR><TD>
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
+ <TR><TD PORT="p0" BGCOLOR="yellow">$ctrl</TD><TD PORT="p1">arg</TD></TR>
+ </TABLE>
+ </TD></TR>
+ </TABLE>>
+ ];
+ Loop6 [ shape=box style=filled fillcolor=yellow label="Loop" ];
+ Phi_arg8 [ style=filled fillcolor=lightyellow label="&phi;_arg" ];
+ Con_9 [ label="10" ];
+ LT10 [ label="<" ];
+ If11 [ shape=plaintext label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
+ <TR><TD BGCOLOR="yellow">If</TD></TR>
+ <TR><TD>
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
+ <TR><TD PORT="p0" BGCOLOR="yellow">True</TD><TD PORT="p1" BGCOLOR="yellow">False</TD></TR>
+ </TABLE>
+ </TD></TR>
+ </TABLE>>
+ ];
+ Con_15 [ label="1" ];
+ Add16 [ label="+" ];
+ { rank=same; Loop6;Phi_arg8;}
+ }
+ node [shape=plaintext];
+ subgraph cluster_Scope7_1 {
+ Scope7_1 [label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
+ <TR><TD BGCOLOR="cyan">2</TD></TR>
+ </TABLE>>];
+ subgraph cluster_Scope7_2 {
+ Scope7_2 [label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
+ <TR><TD BGCOLOR="cyan">1</TD></TR>
+ </TABLE>>];
+ subgraph cluster_Scope7_3 {
+ Scope7_3 [label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
+ <TR><TD BGCOLOR="cyan">0</TD><TD PORT="Scope7_3_$ctrl">$ctrl</TD><TD PORT="Scope7_3_arg">arg</TD></TR>
+ </TABLE>>];
+ }
+ }
+ }
+ node [shape=plaintext];
+ subgraph cluster_Scope1_1 {
+ Scope1_1 [label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
+ <TR><TD BGCOLOR="cyan">1</TD></TR>
+ </TABLE>>];
+ subgraph cluster_Scope1_2 {
+ Scope1_2 [label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
+ <TR><TD BGCOLOR="cyan">0</TD><TD PORT="Scope1_2_$ctrl">$ctrl</TD><TD PORT="Scope1_2_arg">arg</TD></TR>
+ </TABLE>>];
+ }
+ }
+ node [shape=plaintext];
+ subgraph cluster_Scope14_1 {
+ Scope14_1 [label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
+ <TR><TD BGCOLOR="cyan">1</TD></TR>
+ </TABLE>>];
+ subgraph cluster_Scope14_2 {
+ Scope14_2 [label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
+ <TR><TD BGCOLOR="cyan">0</TD><TD PORT="Scope14_2_$ctrl">$ctrl</TD><TD PORT="Scope14_2_arg">arg</TD></TR>
+ </TABLE>>];
+ }
+ }
+ edge [ fontname=Helvetica, fontsize=8 ];
+ Loop6 -> Start2:p0[taillabel=1 color=red];
+ Phi_arg8 -> Loop6 [style=dotted taillabel=0];
+ Phi_arg8 -> Start2:p1[taillabel=1];
+ LT10 -> Phi_arg8[taillabel=1];
+ LT10 -> Con_9[taillabel=2];
+ If11 -> Loop6[taillabel=0 color=red];
+ If11 -> LT10[taillabel=1];
+ Add16 -> Phi_arg8[taillabel=1];
+ Add16 -> Con_15[taillabel=2];
+ edge [style=dashed color=cornflowerblue];
+ Scope7_3:"Scope7_3_$ctrl" -> If11:p0;
+ Scope7_3:"Scope7_3_arg" -> Add16;
+ edge [style=dashed color=cornflowerblue];
+ Scope1_2:"Scope1_2_$ctrl" -> Loop6;
+ Scope1_2:"Scope1_2_arg" -> Phi_arg8;
+ edge [style=dashed color=cornflowerblue];
+ Scope14_2:"Scope14_2_$ctrl" -> If11:p1;
+ Scope14_2:"Scope14_2_arg" -> Phi_arg8;
+}