From 1c11d915a68e60bd191d43e348d56b9eab71b107 Mon Sep 17 00:00:00 2001 From: czjstmax Date: Fri, 19 Dec 2025 23:32:31 +0100 Subject: Created `src` dir for code, added Makefile --- headers/freeast.h | 70 ------------------------------------------------------- 1 file changed, 70 deletions(-) delete mode 100644 headers/freeast.h (limited to 'headers/freeast.h') diff --git a/headers/freeast.h b/headers/freeast.h deleted file mode 100644 index 544d183..0000000 --- a/headers/freeast.h +++ /dev/null @@ -1,70 +0,0 @@ -#ifndef CRBC_FREEAST -#define CRBC_FREEAST - -// Free memory functions, utilize after having used the AST - -#include - -void FreeExpr(Expr *expr) -{ - if (!expr) return; - - switch (expr->kind) { - case EXPR_INT: - free(expr->as); - break; - case EXPR_BOOL: - break; - case EXPR_CHAR: - break; - case EXPR_STRING: - break; - case EXPR_IDENT: - break; - default: - break; - } - - free(expr); -} - -static inline void FreeDeclVar(DeclVar *var) -{ - if (!var) return; - - free(var->ident); - free(var->type); - - free(var); -} - -void FreeDecl(Decl *decl) -{ - if (!decl) return; - - switch (decl->kind) { - case DECL_VAR: - FreeDeclVar((DeclVar *)decl->as); - break; - - case DECL_FUNC: - /* FreeDeclFunc(...) later */ - break; - - case DECL_TYPE_STRUCT: - /* FreeDeclTypeStruct(...) later */ - break; - - case DECL_TYPE_ENUM: - /* ... */ - break; - - case DECL_TYPE_UNION: - /* ... */ - break; - } - - free(decl); -} - -#endif -- cgit v1.3.1