diff options
| author | czjstmax <jstmaxlol@disroot.org> | 2025-12-21 21:24:46 +0100 |
|---|---|---|
| committer | czjstmax <jstmaxlol@disroot.org> | 2025-12-21 21:24:46 +0100 |
| commit | 9201d978d0c4d4f4bdffd4e686ef116d7fdaa982 (patch) | |
| tree | d78d98f3b157d39b2353165445b4a47569658da0 /src/headers/freeast.h | |
| parent | 05033cc80fc9839e402106ae60e92b69266d1595 (diff) | |
Fixed `#include` directives for `heads/` folder in `rbc.c`
Signed-off-by: czjstmax <jstmaxlol@disroot.org>
Diffstat (limited to 'src/headers/freeast.h')
| -rw-r--r-- | src/headers/freeast.h | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/src/headers/freeast.h b/src/headers/freeast.h deleted file mode 100644 index 544d183..0000000 --- a/src/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 <stdlib.h> - -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 |