From add07249dc93b02a22b94b103cdf6f44a1e2419c Mon Sep 17 00:00:00 2001 From: Jan-Niclas Loosen Date: Fri, 23 Jan 2026 12:55:49 +0100 Subject: [PATCH] Fix recursion for each function name --- Project-02-03-04/Source.gv.png | Bin 64551 -> 69565 bytes Project-02-03-04/cfg_build.py | 34 +++++---- Project-02-03-04/cfg_examples/example.dot | 66 ------------------ Project-02-03-04/cfg_examples/example.tripla | 11 --- .../cfg_examples/simpleExpressionSequence.dot | 61 ---------------- .../simpleExpressionSequence.tripla | 5 -- .../triplaprograms/ggT_euclid_rec.tripla | 2 +- 7 files changed, 21 insertions(+), 158 deletions(-) delete mode 100644 Project-02-03-04/cfg_examples/example.dot delete mode 100644 Project-02-03-04/cfg_examples/example.tripla delete mode 100644 Project-02-03-04/cfg_examples/simpleExpressionSequence.dot delete mode 100644 Project-02-03-04/cfg_examples/simpleExpressionSequence.tripla diff --git a/Project-02-03-04/Source.gv.png b/Project-02-03-04/Source.gv.png index f5245bfba661dfc77919cff7b4d0bc6bec61959d..9321a00b891395d742f65a97c1fe87bc46244e73 100644 GIT binary patch literal 69565 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�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 diff --git a/Project-02-03-04/cfg_build.py b/Project-02-03-04/cfg_build.py index c88e4ec..c859e20 100644 --- a/Project-02-03-04/cfg_build.py +++ b/Project-02-03-04/cfg_build.py @@ -13,6 +13,9 @@ import syntax # Global registry for function start/end nodes FUNCTIONS = {} +# Global variable to track the current function being processed +CURRENT_FUNCTION = None + class CONST(compiler.CONST): def cfa(self, pred, end = None): node = CFG_Node(self) @@ -220,16 +223,9 @@ class CALL(compiler.CALL): call_node.add_child(f_start) call_node.add_child(return_node) - # TODO: Why only g? Also f can be recursive. - # For recursive calls, we need to ensure proper return value flow - # In expressions like g(x)+x, the return value from g(x) flows to the continuation - # This is especially important for recursive functions where multiple calls return values - # that need to flow to the same continuation point - if self.f_name == 'g': - # For recursive calls in g, ensure the return node connects to continuation - # This handles cases like g(y) where the return value flows to the same place as g(x) + # Return value flow for recursive calls + if CURRENT_FUNCTION is not None and self.f_name == CURRENT_FUNCTION: return_node.add_child(cont) - return cont class DECL(compiler.DECL): @@ -245,12 +241,22 @@ class DECL(compiler.DECL): f_end.label = f"END {self.f_name}({', '.join(self.params)})" FUNCTIONS[self.f_name] = (f_start, f_end) - # Unwrap the method body - body_end = self.body.cfa(f_start, f_end) + # Set the current function context for recursion detection + global CURRENT_FUNCTION + previous_function = CURRENT_FUNCTION + CURRENT_FUNCTION = self.f_name + + try: + # Unwrap the method body + body_end = self.body.cfa(f_start, f_end) + + # Attach the end node if it is provided + if body_end is not None: + body_end.add_child(f_end) + finally: + # Restore the previous function context + CURRENT_FUNCTION = previous_function - # Attach the end node if it is provided - if body_end is not None: - body_end.add_child(f_end) return pred class LET(compiler.LET): diff --git a/Project-02-03-04/cfg_examples/example.dot b/Project-02-03-04/cfg_examples/example.dot deleted file mode 100644 index 09fd28c..0000000 --- a/Project-02-03-04/cfg_examples/example.dot +++ /dev/null @@ -1,66 +0,0 @@ -digraph CFG { - n0 [label="3", shape="box"]; - n0 -> n36; - node [fontname="Helvetica"]; - n36 [label="2", shape=box]; - n36 -> n37; - n37 [label="CALL f(2, 3)", shape=box, style=filled, color=orange]; - n37 -> n4; - n4 [label="START f(x, y, z)", shape=box, style=filled, color=green]; - n4 -> n6; - n6 [label="2", shape=box]; - n6 -> n7; - n7 [label="y = 2", shape=box]; - n7 -> n8; - n8 [label="3", shape=box]; - n8 -> n9; - n9 [label="z = 3", shape=box]; - n9 -> n29; - n29 [label="x", shape=box]; - n29 -> n30; - n30 [label="CALL g(x)", shape=box, style=filled, color=orange]; - n30 -> n11; - n11 [label="START g(x)", shape=box, style=filled, color=green]; - n11 -> n13; - n13 [label="7", shape=box]; - n13 -> n14; - n14 [label="x = 7", shape=box]; - n14 -> n15; - n15 [label="y", shape=box]; - n15 -> n16; - n16 [label="0", shape=box]; - n16 -> n17; - n17 [label="(y > 0)", shape=box]; - n17 -> n18; - n18 [label="<>", shape=diamond]; - n18 -> n22 [label="T"]; - n22 [label="y", shape=box]; - n22 -> n23; - n23 [label="CALL g(y)", shape=box, style=filled, color=orange]; - n23 -> n11; - n23 -> n25; - n25 [label="RET g(y)", shape=box, style=filled, color=orange]; - n25 -> n28; - n28 [label="x", shape=box]; - n28 -> n12; - n12 [label="END g(x)", shape=box, style=filled, color=green]; - n12 -> n25; - n12 -> n32; - n32 [label="RET g(x)", shape=box, style=filled, color=orange]; - n32 -> n33; - n33 [label="x", shape=box]; - n33 -> n34; - n34 [label="(g(x) + x)", shape=box]; - n34 -> n5; - n5 [label="END f(x, y, z)", shape=box, style=filled, color=green]; - n5 -> n39; - n39 [label="RET f(2, 3)", shape=box, style=filled, color=orange]; - n34 -> n5; - n18 -> n26 [label="F"]; - n26 [label="8", shape=box]; - n26 -> n27; - n27 [label="x = 8", shape=box]; - n27 -> n28; - n30 -> n32; - n37 -> n39; -} \ No newline at end of file diff --git a/Project-02-03-04/cfg_examples/example.tripla b/Project-02-03-04/cfg_examples/example.tripla deleted file mode 100644 index 249bb65..0000000 --- a/Project-02-03-04/cfg_examples/example.tripla +++ /dev/null @@ -1,11 +0,0 @@ -let 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 -} in f(2,3) \ No newline at end of file diff --git a/Project-02-03-04/cfg_examples/simpleExpressionSequence.dot b/Project-02-03-04/cfg_examples/simpleExpressionSequence.dot deleted file mode 100644 index dbfa7af..0000000 --- a/Project-02-03-04/cfg_examples/simpleExpressionSequence.dot +++ /dev/null @@ -1,61 +0,0 @@ -digraph G { - 58 -> 57; - 57 -> 61; - 61 -> 1; - 1 -> 4; - 4 -> 7; - 7 -> 10; - 10 -> 12; - 12 -> 14; - 14 -> 17; - 17 -> 20; - 20 -> 34; - 34 -> 22 [label="T"]; - 34 -> 32 [label="F"]; - 22 -> 25; - 25 -> 28; - 28 -> 30; - 30 -> 37; - 37 -> 40; - 40 -> 43; - 43 -> 55; - 55 -> 45 [label="T"]; - 55 -> 2 [label="F"]; - 45 -> 48; - 2 -> 60; - 48 -> 51; - 51 -> 53; - 53 -> 37; - 60 -> 59; - 32 -> 37; - 61 -> 60; - - 58 [label="58: None"]; - 57 [label="57: 3"]; - 61 [label="61: CALL f(3)", shape=box, style=filled, color=orange]; - 1 [label="1: START f(x)", shape=box, style=filled, color=green]; - 4 [label="4: 2"]; - 7 [label="7: x"]; - 10 [label="10: (2*x)"]; - 12 [label="12: x=(2*x)"]; - 14 [label="14: x"]; - 17 [label="17: 0"]; - 20 [label="20: (x>0)"]; - 34 [label="34: <>", shape=diamond]; - 22 [label="22: x"]; - 32 [label="32: x"]; - 25 [label="25: 1"]; - 28 [label="28: (x-1)"]; - 30 [label="30: x=(x-1)"]; - 37 [label="37: x"]; - 40 [label="40: 0"]; - 43 [label="43: (x>0)"]; - 55 [label="55: <>", shape=diamond]; - 45 [label="45: x"]; - 60 [label="60: RET f(3)", shape=box, style=filled, color=orange]; - 59 [label="59: None"]; - 48 [label="48: 1"]; - 51 [label="51: (x-1)"]; - 53 [label="53: x=(x-1)"]; - 2 [label="2: END f(x)", shape=box, style=filled, color=green]; -} diff --git a/Project-02-03-04/cfg_examples/simpleExpressionSequence.tripla b/Project-02-03-04/cfg_examples/simpleExpressionSequence.tripla deleted file mode 100644 index 38264e8..0000000 --- a/Project-02-03-04/cfg_examples/simpleExpressionSequence.tripla +++ /dev/null @@ -1,5 +0,0 @@ -let f(x) { x=2*x; - if (x>0) then x=x-1 else x; - while (x>0) do { x=x-1 } - } -in f(3) \ No newline at end of file diff --git a/Project-02-03-04/triplaprograms/ggT_euclid_rec.tripla b/Project-02-03-04/triplaprograms/ggT_euclid_rec.tripla index bc0fb08..9cbc90d 100644 --- a/Project-02-03-04/triplaprograms/ggT_euclid_rec.tripla +++ b/Project-02-03-04/triplaprograms/ggT_euclid_rec.tripla @@ -5,4 +5,4 @@ let ggT(a, b) { ggT(a-b, b) else ggT(b-a, a) -} in ggT(3528, 3780) // result should be 252 \ No newline at end of file +} in ggT(2, 8) \ No newline at end of file