diff --git a/PortfolioFormular2025_Signed.pdf b/PortfolioFormular2025_Signed.pdf new file mode 100644 index 0000000..2c6d8b5 Binary files /dev/null and b/PortfolioFormular2025_Signed.pdf differ diff --git a/Project-02-03-04-05/Source.gv.png b/Project-02-03-04-05/Source.gv.png index e3792f5..a69f630 100644 Binary files a/Project-02-03-04-05/Source.gv.png and b/Project-02-03-04-05/Source.gv.png differ diff --git a/Project-02-03-04-05/cfadots/complex_analysis.dot b/Project-02-03-04-05/cfadots/complex_analysis.dot new file mode 100644 index 0000000..4773fcb --- /dev/null +++ b/Project-02-03-04-05/cfadots/complex_analysis.dot @@ -0,0 +1,188 @@ +digraph CFG { + // Analysis: Live Variables + Reached Uses analyses + graph [splines=ortho, overlap=false, ranksep=0.7, nodesep=0.45]; + node [fontname="Helvetica"]; + n1 [label="START", shape=ellipse, style=filled, color=gray]; + n1 -> n52; + n52 [label="10", shape=box]; + n52 -> n53; + n53 [label="CALL f1", shape=box, style=filled, color=orange]; + a53 [label="LivingVariables\nIn := [('f2', 'a'), ('f2', 'b')]\nOut := [('f2', 'a'), ('f2', 'b')]", shape=note, style="filled", fillcolor="#d7b2f7", color="#8d3fd1", fontcolor="#8d3fd1"]; + a53 -> n53 [style=dotted, arrowhead=none, color="#8d3fd1"]; + n53 -> n3; + n53 -> n55; + n3 [label="START f1(b)", shape=ellipse, style=filled, color=green]; + a3 [label="LivingVariables\nIn := [('f2', 'a'), ('f2', 'b')]\nOut := [('f1', 'b'), ('f2', 'a'), ('f2', 'b')]", shape=note, style="filled", fillcolor="#f7b2ef", color="#d13fbf", fontcolor="#d13fbf"]; + a3 -> n3 [style=dotted, arrowhead=none, color="#d13fbf"]; + n3 -> n8; + n8 [label="b", shape=box]; + n8 -> n9; + n9 [label="0", shape=box]; + n9 -> n10; + n10 [label="b == 0", shape=box]; + a10 [label="LivingVariables\nIn := [('f1', 'b'), ('f2', 'a'), ('f2', 'b')]\nOut := [('f1', 'b'), ('f2', 'a'), ('f2', 'b')]", shape=note, style="filled", fillcolor="#f2f7b2", color="#c5d13f", fontcolor="#c5d13f"]; + a10 -> n10 [style=dotted, arrowhead=none, color="#c5d13f"]; + n10 -> n11; + n11 [label="", shape=diamond]; + n11 -> n15 [label="T"]; + n11 -> n16 [label="F"]; + n15 [label="0", shape=box]; + n15 -> n4; + n4 [label="END f1(b)", shape=ellipse, style=filled, color=green]; + a4 [label="LivingVariables\nIn := [('f2', 'a'), ('f2', 'b')]\nOut := [('f2', 'a'), ('f2', 'b')]", shape=note, style="filled", fillcolor="#b2f7ec", color="#3fd1b9", fontcolor="#3fd1b9"]; + a4 -> n4 [style=dotted, arrowhead=none, color="#3fd1b9"]; + n4 -> n21; + n4 -> n32; + n4 -> n36; + n4 -> n55; + n21 [label="RET f1", shape=box, style=filled, color=orange]; + a21 [label="LivingVariables\nIn := [('f2', 'a'), ('f2', 'b')]\nOut := [('f2', 'a'), ('f2', 'b')]", shape=note, style="filled", fillcolor="#f7b2bb", color="#d13f51", fontcolor="#d13f51"]; + a21 -> n21 [style=dotted, arrowhead=none, color="#d13f51"]; + n21 -> n4; + n32 [label="RET f1", shape=box, style=filled, color=orange]; + a32 [label="LivingVariables\nIn := [('f2', 'a'), ('f2', 'b')]\nOut := [('f2', 'a'), ('f2', 'b')]", shape=note, style="filled", fillcolor="#e0b2f7", color="#a03fd1", fontcolor="#a03fd1"]; + a32 -> n32 [style=dotted, arrowhead=none, color="#a03fd1"]; + n32 -> n45; + n45 [label="a", shape=box]; + n45 -> n46; + n46 [label="b", shape=box]; + n46 -> n47; + n47 [label="a * b", shape=box]; + n47 -> n48; + n48 [label="CALL g", shape=box, style=filled, color=orange]; + a48 [label="LivingVariables\nIn := [('f2', 'a'), ('f2', 'b')]\nOut := [('f2', 'a'), ('f2', 'b')]", shape=note, style="filled", fillcolor="#b2b3f7", color="#3f40d1", fontcolor="#3f40d1"]; + a48 -> n48 [style=dotted, arrowhead=none, color="#3f40d1"]; + n48 -> n37; + n48 -> n50; + n37 [label="START g(c)", shape=ellipse, style=filled, color=green]; + a37 [label="LivingVariables\nIn := [('f2', 'a'), ('f2', 'b')]\nOut := [('f2', 'a'), ('f2', 'b'), ('g', 'c')]", shape=note, style="filled", fillcolor="#f7b2e9", color="#d13fb3", fontcolor="#d13fb3"]; + a37 -> n37 [style=dotted, arrowhead=none, color="#d13fb3"]; + n37 -> n40; + n40 [label="a", shape=box]; + n40 -> n41; + n41 [label="b", shape=box]; + n41 -> n42; + n42 [label="a * b", shape=box]; + n42 -> n43; + n43 [label="c", shape=box]; + n43 -> n44; + n44 [label="(a * b) * c", shape=box]; + n44 -> n38; + n38 [label="END g(c)", shape=ellipse, style=filled, color=green]; + n38 -> n50; + n50 [label="RET g", shape=box, style=filled, color=orange]; + n50 -> n6; + n6 [label="END f2(a, b)", shape=ellipse, style=filled, color=green]; + n6 -> n78; + n78 [label="RET f2", shape=box, style=filled, color=orange]; + n78 -> n2; + n2 [label="END", shape=ellipse, style=filled, color=gray]; + n36 [label="RET f1", shape=box, style=filled, color=orange]; + a36 [label="LivingVariables\nIn := [('f2', 'a'), ('f2', 'b')]\nOut := [('f2', 'a'), ('f2', 'b')]", shape=note, style="filled", fillcolor="#d5f7b2", color="#89d13f", fontcolor="#89d13f"]; + a36 -> n36 [style=dotted, arrowhead=none, color="#89d13f"]; + n36 -> n45; + n55 [label="RET f1", shape=box, style=filled, color=orange]; + n55 -> n57; + n57 [label="10", shape=box]; + n57 -> n70; + n70 [label="20", shape=box]; + n70 -> n71; + n71 [label="30", shape=box]; + n71 -> n72; + n72 [label="CALL max", shape=box, style=filled, color=orange]; + n72 -> n58; + n72 -> n74; + n58 [label="START max(a, b)", shape=ellipse, style=filled, color=green]; + a58 [label="LivingVariables\nIn := []\nOut := [('max', 'a'), ('max', 'b')]", shape=note, style="filled", fillcolor="#f7b2f2", color="#d13fc6", fontcolor="#d13fc6"]; + a58 -> n58 [style=dotted, arrowhead=none, color="#d13fc6"]; + n58 -> n61; + n61 [label="a", shape=box]; + n61 -> n62; + n62 [label="b", shape=box]; + n62 -> n63; + n63 [label="a > b", shape=box]; + a63 [label="LivingVariables\nIn := [('max', 'a'), ('max', 'b')]\nOut := [('max', 'a'), ('max', 'b')]", shape=note, style="filled", fillcolor="#f7b2cd", color="#d13f77", fontcolor="#d13f77"]; + a63 -> n63 [style=dotted, arrowhead=none, color="#d13f77"]; + n63 -> n64; + n64 [label="", shape=diamond]; + n64 -> n68 [label="T"]; + n64 -> n69 [label="F"]; + n68 [label="a", shape=box]; + n68 -> n59; + n59 [label="END max(a, b)", shape=ellipse, style=filled, color=green]; + n59 -> n74; + n74 [label="RET max", shape=box, style=filled, color=orange]; + n74 -> n76; + n76 [label="CALL f2", shape=box, style=filled, color=orange]; + n76 -> n5; + n76 -> n78; + n5 [label="START f2(a, b)", shape=ellipse, style=filled, color=green]; + a5 [label="LivingVariables\nIn := []\nOut := [('f2', 'a'), ('f2', 'b')]", shape=note, style="filled", fillcolor="#f7d8b2", color="#d18e3f", fontcolor="#d18e3f"]; + a5 -> n5 [style=dotted, arrowhead=none, color="#d18e3f"]; + n5 -> n22; + n22 [label="a", shape=box]; + n22 -> n23; + n23 [label="b", shape=box]; + n23 -> n24; + n24 [label="a > b", shape=box]; + a24 [label="LivingVariables\nIn := [('f2', 'a'), ('f2', 'b')]\nOut := [('f2', 'a'), ('f2', 'b')]", shape=note, style="filled", fillcolor="#f7b2f7", color="#d13fd1", fontcolor="#d13fd1"]; + a24 -> n24 [style=dotted, arrowhead=none, color="#d13fd1"]; + n24 -> n25; + n25 [label="", shape=diamond]; + n25 -> n29 [label="T"]; + n25 -> n33 [label="F"]; + n29 [label="a", shape=box]; + n29 -> n30; + n30 [label="CALL f1", shape=box, style=filled, color=orange]; + a30 [label="LivingVariables\nIn := [('f2', 'a'), ('f2', 'b')]\nOut := [('f2', 'a'), ('f2', 'b')]", shape=note, style="filled", fillcolor="#b2e6f7", color="#3fadd1", fontcolor="#3fadd1"]; + a30 -> n30 [style=dotted, arrowhead=none, color="#3fadd1"]; + n30 -> n3; + n30 -> n32; + n33 [label="b", shape=box]; + n33 -> n34; + n34 [label="CALL f1", shape=box, style=filled, color=orange]; + a34 [label="LivingVariables\nIn := [('f2', 'a'), ('f2', 'b')]\nOut := [('f2', 'a'), ('f2', 'b')]", shape=note, style="filled", fillcolor="#f7b8b2", color="#d14a3f", fontcolor="#d14a3f"]; + a34 -> n34 [style=dotted, arrowhead=none, color="#d14a3f"]; + n34 -> n3; + n34 -> n36; + n69 [label="b", shape=box]; + n69 -> n59; + n16 [label="b", shape=box]; + n16 -> n17; + n17 [label="1", shape=box]; + n17 -> n18; + n18 [label="b - 1", shape=box]; + n18 -> n19; + n19 [label="CALL f1", shape=box, style=filled, color=orange]; + a19 [label="LivingVariables\nIn := [('f2', 'a'), ('f2', 'b')]\nOut := [('f2', 'a'), ('f2', 'b')]", shape=note, style="filled", fillcolor="#d2b2f7", color="#813fd1", fontcolor="#813fd1"]; + a19 -> n19 [style=dotted, arrowhead=none, color="#813fd1"]; + n19 -> n3; + n19 -> n21; + rh3 [shape=point, width=0.05, height=0.05, color="#d13fbf", fillcolor="#d13fbf", style=filled]; + { rank=same; n3; rh3; } + n3:se -> rh3 [color="#d13fbf", style=dashed, penwidth=1.2, arrowhead=none, constraint=false, tailclip=true, headclip=true]; + rh3 -> n8:ne [color="#d13fbf", fontcolor="#d13fbf", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; + rh3 -> n16:ne [color="#d13fbf", fontcolor="#d13fbf", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; + rh5 [shape=point, width=0.05, height=0.05, color="#d18e3f", fillcolor="#d18e3f", style=filled]; + { rank=same; n5; rh5; } + n5:sw -> rh5 [color="#d18e3f", style=dashed, penwidth=1.2, arrowhead=none, constraint=false, tailclip=true, headclip=true]; + rh5 -> n22:nw [color="#d18e3f", fontcolor="#d18e3f", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; + rh5 -> n23:sw [color="#d18e3f", fontcolor="#d18e3f", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; + rh5 -> n29:sw [color="#d18e3f", fontcolor="#d18e3f", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; + rh5 -> n33:sw [color="#d18e3f", fontcolor="#d18e3f", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; + rh5 -> n40:nw [color="#d18e3f", fontcolor="#d18e3f", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; + rh5 -> n41:sw [color="#d18e3f", fontcolor="#d18e3f", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; + rh5 -> n45:sw [color="#d18e3f", fontcolor="#d18e3f", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; + rh5 -> n46:nw [color="#d18e3f", fontcolor="#d18e3f", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; + rh37 [shape=point, width=0.05, height=0.05, color="#d13fb3", fillcolor="#d13fb3", style=filled]; + { rank=same; n37; rh37; } + n37:se -> rh37 [color="#d13fb3", style=dashed, penwidth=1.2, arrowhead=none, constraint=false, tailclip=true, headclip=true]; + rh37 -> n43:se [color="#d13fb3", fontcolor="#d13fb3", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; + rh58 [shape=point, width=0.05, height=0.05, color="#d13fc6", fillcolor="#d13fc6", style=filled]; + { rank=same; n58; rh58; } + n58:sw -> rh58 [color="#d13fc6", style=dashed, penwidth=1.2, arrowhead=none, constraint=false, tailclip=true, headclip=true]; + rh58 -> n61:sw [color="#d13fc6", fontcolor="#d13fc6", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; + rh58 -> n62:nw [color="#d13fc6", fontcolor="#d13fc6", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; + rh58 -> n68:nw [color="#d13fc6", fontcolor="#d13fc6", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; + rh58 -> n69:sw [color="#d13fc6", fontcolor="#d13fc6", fontsize=8, style=dashed, penwidth=1.0, arrowsize=0.6, constraint=false, tailclip=true, headclip=true]; +} \ No newline at end of file diff --git a/Project-02-03-04-05/docs/UAP16_Datenflussanalyse.pdf b/Project-02-03-04-05/docs/UAP16_Datenflussanalyse.pdf deleted file mode 100644 index fca9579..0000000 Binary files a/Project-02-03-04-05/docs/UAP16_Datenflussanalyse.pdf and /dev/null differ diff --git a/Project-02-03-04-05/docs/UAP17_DFA_für_TRIPLA.pdf b/Project-02-03-04-05/docs/UAP17_DFA_für_TRIPLA.pdf deleted file mode 100644 index 320d437..0000000 Binary files a/Project-02-03-04-05/docs/UAP17_DFA_für_TRIPLA.pdf and /dev/null differ diff --git a/Project-02-03-04-05/docs/UAP24_Portfolio_und_Projekt5.pdf b/Project-02-03-04-05/docs/UAP24_Portfolio_und_Projekt5.pdf deleted file mode 100644 index a1cc872..0000000 Binary files a/Project-02-03-04-05/docs/UAP24_Portfolio_und_Projekt5.pdf and /dev/null differ