From f50045c6ad13bf716fcc54c53335226417e6364f Mon Sep 17 00:00:00 2001 From: Fredrik Robertsen Date: Mon, 23 Feb 2026 16:16:32 +0100 Subject: [PATCH] ps3: task 1 --- ps3/src/tree.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/ps3/src/tree.c b/ps3/src/tree.c index efdd004..d2cb2b0 100644 --- a/ps3/src/tree.c +++ b/ps3/src/tree.c @@ -173,7 +173,23 @@ static node_t* simplify_subtree(node_t* node) if (node == NULL) return node; - // TODO: Task 1: Implement this function by calling the above functions when applicable + for (int i = 0; i < node->n_children; i++) { + node_t *child = node->children[i]; + simplify_subtree(child); + } + + switch (node->type) { + case OPERATOR: + convert_operator(node); + break; + case PRINTLN_STATEMENT: + simplify_println_statement(node); + break; + case BLOCK: + flatten_variable_declarations(node); + break; + } + return node; }