From b280acfcebbde6430802566e22a5d1b0deab949b Mon Sep 17 00:00:00 2001 From: Jeremy Li Date: Mon, 4 Nov 2024 21:13:53 +0100 Subject: [PATCH 1/7] Trying to fix high mem usage (not from infloop) --- bin/test.w | 15 +++--- bin/word.exe | Bin 351051 -> 211966 bytes include/dict.h | 1 + include/interpreter.h | 2 + include/lexer.h | 2 + include/list.h | 1 + include/parser.h | 1 + include/scope.h | 1 + include/w_alloc.h | 31 ++++++++++++ include/w_bool.h | 1 + include/w_dict.h | 1 + include/w_float.h | 1 + include/w_function.h | 1 + include/w_int.h | 1 + include/w_list.h | 1 + include/w_stdlib.h | 1 + include/w_str.h | 1 + include/w_type.h | 1 + src/dict.c | 8 +-- src/interpreter.c | 111 ++++++++++++++++++++++++++---------------- src/lexer.c | 12 +++-- src/list.c | 14 +++--- src/parser.c | 6 +-- src/scope.c | 2 +- src/w_alloc.c | 47 ++++++++++++++++++ src/w_bool.c | 18 +++---- src/w_dict.c | 12 ++--- src/w_float.c | 18 +++---- src/w_function.c | 12 ++--- src/w_int.c | 18 +++---- src/w_list.c | 14 +++--- src/w_stdlib.c | 28 +++++------ src/w_str.c | 28 +++++------ 33 files changed, 267 insertions(+), 144 deletions(-) create mode 100644 include/w_alloc.h create mode 100644 src/w_alloc.c diff --git a/bin/test.w b/bin/test.w index b7380e9..e46c6dd 100644 --- a/bin/test.w +++ b/bin/test.w @@ -1,12 +1,9 @@ int a assign 0 -def null test - infloop - if a gequal 5 - break - endif - change a to a plus 1 - endinf -enddef +infloop + if a gequal 5 + break + endif + change a to a plus 1 +endinf -call test print a \ No newline at end of file diff --git a/bin/word.exe b/bin/word.exe index f63e90b6ecb138880e720bc25fb71ef4c4ab1c59..ae2c5aae7960859adfa9b690aebd81fd0323c6b4 100644 GIT binary patch literal 211966 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 literal 351051 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 z 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 GyZ-~)>lP{i diff --git a/include/dict.h b/include/dict.h index df56b6a..6293b66 100644 --- a/include/dict.h +++ b/include/dict.h @@ -7,6 +7,7 @@ #define __DICT_H__ #include +#include "w_alloc.h" #include "list.h" typedef struct _dict { diff --git a/include/interpreter.h b/include/interpreter.h index 7f54356..fde99cb 100644 --- a/include/interpreter.h +++ b/include/interpreter.h @@ -3,6 +3,7 @@ #include #include +#include "w_alloc.h" #include "lexer.h" #include "parser.h" #include "scope.h" @@ -17,6 +18,7 @@ void *execute(list *parsed_code, Scope *current_scope, W_Type return_type, bool // Utility void eval_parsed_lines(list_element *parsed_line, Scope *scope, list *stack); +void destroy_stack(list *stack); char *remove_dot(W_Word *word); bool is_type_keyword(char *word); bool is_float(char *str); diff --git a/include/lexer.h b/include/lexer.h index 558a34c..bd7a4e4 100644 --- a/include/lexer.h +++ b/include/lexer.h @@ -5,6 +5,7 @@ #include #include #include +#include "w_alloc.h" #include "list.h" extern char *keywords[]; @@ -23,6 +24,7 @@ typedef struct _w_word { char *value; int line; bool parsed; + bool is_generated; } W_Word; list *word_tokenize(FILE *source); diff --git a/include/list.h b/include/list.h index 79ddbb1..8b2c3cd 100644 --- a/include/list.h +++ b/include/list.h @@ -7,6 +7,7 @@ #define __LIST_H__ #include +#include "w_alloc.h" typedef struct _list_element { void *value; diff --git a/include/parser.h b/include/parser.h index c2a66a0..97ab192 100644 --- a/include/parser.h +++ b/include/parser.h @@ -3,6 +3,7 @@ #include #include +#include "w_alloc.h" #include "lexer.h" #include "w_list.h" diff --git a/include/scope.h b/include/scope.h index 8bd6b0b..dfe34bd 100644 --- a/include/scope.h +++ b/include/scope.h @@ -2,6 +2,7 @@ #define __SCOPE_H__ #include +#include "w_alloc.h" #include "w_type.h" #include "w_dict.h" diff --git a/include/w_alloc.h b/include/w_alloc.h new file mode 100644 index 0000000..5d87c34 --- /dev/null +++ b/include/w_alloc.h @@ -0,0 +1,31 @@ +// DEBUG ONLY + +#ifndef __W_ALLOC_H__ +#define __W_ALLOC_H__ + +#include +#include +#include +#include "w_alloc.h" + +#define MONITOR_MEMORY false + +#if MONITOR_MEMORY + +extern int w_alloc_count; +extern long long int w_alloc_used; +extern long long int w_alloc_total; + +void *w_malloc(size_t size); +void w_free(void *ptr); +void w_alloc_print(); + +#elif !MONITOR_MEMORY + +#define w_malloc malloc +#define w_free free +#define w_alloc_print() {} + +#endif + +#endif \ No newline at end of file diff --git a/include/w_bool.h b/include/w_bool.h index 15830c1..6d90bd6 100644 --- a/include/w_bool.h +++ b/include/w_bool.h @@ -2,6 +2,7 @@ #define __W_BOOL_H__ #include +#include "w_alloc.h" #include "w_type.h" typedef struct _w_bool { diff --git a/include/w_dict.h b/include/w_dict.h index 1c3f005..b4bf84a 100644 --- a/include/w_dict.h +++ b/include/w_dict.h @@ -1,6 +1,7 @@ #ifndef __W_DICT_H__ #define __W_DICT_H__ +#include "w_alloc.h" #include "w_type.h" #include "w_list.h" #include "list.h" diff --git a/include/w_float.h b/include/w_float.h index cbd6e84..df69ad9 100644 --- a/include/w_float.h +++ b/include/w_float.h @@ -1,6 +1,7 @@ #ifndef __W_FLOAT_H__ #define __W_FLOAT_H__ +#include "w_alloc.h" #include "w_type.h" typedef struct _w_float { diff --git a/include/w_function.h b/include/w_function.h index 3139110..9e05576 100644 --- a/include/w_function.h +++ b/include/w_function.h @@ -1,6 +1,7 @@ #ifndef __W_FUNCTION_H__ #define __W_FUNCTION_H__ +#include "w_alloc.h" #include "w_type.h" #include "list.h" #include "dict.h" diff --git a/include/w_int.h b/include/w_int.h index bcae42f..85920d9 100644 --- a/include/w_int.h +++ b/include/w_int.h @@ -1,6 +1,7 @@ #ifndef __W_INT_H__ #define __W_INT_H__ +#include "w_alloc.h" #include "w_type.h" typedef struct _w_int { diff --git a/include/w_list.h b/include/w_list.h index 64a979c..819fe44 100644 --- a/include/w_list.h +++ b/include/w_list.h @@ -1,6 +1,7 @@ #ifndef __W_LIST_H__ #define __W_LIST_H__ +#include "w_alloc.h" #include "w_type.h" typedef struct _w_list_element { diff --git a/include/w_stdlib.h b/include/w_stdlib.h index cc8387a..5f36ced 100644 --- a/include/w_stdlib.h +++ b/include/w_stdlib.h @@ -4,6 +4,7 @@ #include #include #include +#include "w_alloc.h" #include "w_bool.h" #include "w_dict.h" #include "w_float.h" diff --git a/include/w_str.h b/include/w_str.h index 99cd00e..3a35f25 100644 --- a/include/w_str.h +++ b/include/w_str.h @@ -1,6 +1,7 @@ #ifndef __W_STR_H__ #define __W_STR_H__ +#include "w_alloc.h" #include "w_type.h" typedef struct _w_str { diff --git a/include/w_type.h b/include/w_type.h index 6a5704c..a77a941 100644 --- a/include/w_type.h +++ b/include/w_type.h @@ -4,6 +4,7 @@ #include #include #include +#include "w_alloc.h" typedef enum _w_type { NULL_TYPE, diff --git a/src/dict.c b/src/dict.c index 35c6a86..f2b8627 100644 --- a/src/dict.c +++ b/src/dict.c @@ -6,18 +6,18 @@ #include "dict.h" /** - * \brief Initializes a new dictionary. (malloc) + * \brief Initializes a new dictionary. (w_malloc) * \return A new dictionary. */ dict *dict_init() { - dict *d = (dict *)malloc(sizeof(dict)); + dict *d = (dict *)w_malloc(sizeof(dict)); d->keys = list_init(); //list of keys, is a normal list d->values = list_init(); //list of values, is a list return d; } /** - * \brief Sets the given key and value in the given dictionary. (malloc) + * \brief Sets the given key and value in the given dictionary. (w_malloc) * \param d The dictionary to set the key and value in. * \param key The key to set. Must be a string. * \param value The value to set. @@ -38,7 +38,7 @@ void dict_set(dict *d, char *key, void *value) { current_value = current_value->next; } } else { - char *key_copy = (char *)malloc(strlen(key) + 1); + char *key_copy = (char *)w_malloc(strlen(key) + 1); strcpy(key_copy, key); list_append(d->keys, key_copy); list_append(d->values, value); diff --git a/src/interpreter.c b/src/interpreter.c index 849c38c..b6b446b 100644 --- a/src/interpreter.c +++ b/src/interpreter.c @@ -1,5 +1,5 @@ #include "interpreter.h" -#define DEBUG false +#define DEBUG true int main(int argc, char *argv[]) { @@ -45,6 +45,8 @@ int main(int argc, char *argv[]) { // parser_destroy(parsed_code); // TODO: Fix double free, not necessary but cleaner (memory leak) if (DEBUG) printf("Done\n"); //DEBUG + if (MONITOR_MEMORY) w_alloc_print(); + return 0; } @@ -53,16 +55,16 @@ int main(int argc, char *argv[]) { * \param parsed_code The parsed code to execute. * \param scope The scope to execute the code in. * \param return_type The type of the return value. - * \param destroy_vars_on_exit Whether to destroy the variables on exit. + * \param destroy_scope_on_exit Whether to destroy the scope on exit. * \return The result of the execution */ -void *execute(list *parsed_code, Scope *scope, W_Type return_type, bool destroy_vars_on_exit) { +void *execute(list *parsed_code, Scope *scope, W_Type return_type, bool destroy_scope_on_exit) { void *result = NULL; // if (DEBUG) { // printf("Args:\n"); //DEBUG // char *str = w_dict_stringify(scope->vars); // printf("%s\n", str); - // free(str); + // w_free(str); // // print parsed code // printf("Parsed code:\n"); // print_parsed_code(parsed_code); @@ -149,7 +151,7 @@ void *execute(list *parsed_code, Scope *scope, W_Type return_type, bool destroy_ fprintf(stderr, "Error: Cannot have null argument, line: %d\n", word->line); exit(1); } - W_Type *arg_type = (W_Type *)malloc(sizeof(W_Type)); + W_Type *arg_type = (W_Type *)w_malloc(sizeof(W_Type)); *arg_type = w_get_type(word->value); current_word = current_word->next; @@ -226,7 +228,7 @@ void *execute(list *parsed_code, Scope *scope, W_Type return_type, bool destroy_ fprintf(stderr, "Error: Cannot return value from null function, line: %d\n", word->line); exit(1); } else { - free(stack); + destroy_stack(stack); return NULL; } } @@ -290,21 +292,21 @@ void *execute(list *parsed_code, Scope *scope, W_Type return_type, bool destroy_ printf("Returning: "); char *str = result->stringify(result); printf("%s\n", str); - free(str); + w_free(str); } - free(result_type_str); - free(stack); + w_free(result_type_str); + destroy_stack(stack); if (DEBUG) { printf("Exit Variables:\n"); //DEBUG char *str = w_dict_stringify(scope->vars); printf("%s\n", str); - free(str); + w_free(str); } - if (DEBUG && destroy_vars_on_exit) { + if (DEBUG && destroy_scope_on_exit) { printf("Freeing inner scope... (%p)\n", scope); //DEBUG printf("%s\n", w_dict_stringify(scope->vars)); } - if (destroy_vars_on_exit) destroy_scope(scope); + if (destroy_scope_on_exit) destroy_scope(scope); if (DEBUG) printf("Exiting...\n"); //DEBUG return result; //!SECTION - return } else if (strcmp(word->value, "call") == 0) { //SECTION - call @@ -338,7 +340,7 @@ void *execute(list *parsed_code, Scope *scope, W_Type return_type, bool destroy_ printf("Scope variables: (%p)\n", scope->vars); //DEBUG char *str = w_dict_stringify(scope->vars); printf("%s\n", str); - free(str); + w_free(str); } Scope *fn_scope = init_scope(); //function scope @@ -379,8 +381,8 @@ void *execute(list *parsed_code, Scope *scope, W_Type return_type, bool destroy_ char *arg_type_str = w_get_type_str(&dummy); char *input_type_str = w_get_type_str(arg); fprintf(stderr, "Error: Expected %s value for argument '%s', got %s, line: %d\n", arg_type_str, arg_name, input_type_str, word->line); - free(arg_type_str); - free(input_type_str); + w_free(arg_type_str); + w_free(input_type_str); exit(1); } W_Var *arg_copy = ((W_Var *)arg)->copy(arg); //copy of the argument @@ -421,7 +423,7 @@ void *execute(list *parsed_code, Scope *scope, W_Type return_type, bool destroy_ printf("Function variables: (%p)\n", fn_vars); //DEBUG char *str = w_dict_stringify(fn_vars); printf("%s\n", str); - free(str); + w_free(str); } if (current_word != NULL) { word = current_word->value; @@ -540,7 +542,7 @@ void *execute(list *parsed_code, Scope *scope, W_Type return_type, bool destroy_ void *return_value = execute(if_lines, scope, return_type, false); if (DEBUG) printf("If/elif block executed !\n"); if (return_value != NULL) { - free(stack); + destroy_stack(stack); return return_value; } } else if (DEBUG) printf("Skipping if/elif block...\n"); //!SECTION - if/elif @@ -581,7 +583,7 @@ void *execute(list *parsed_code, Scope *scope, W_Type return_type, bool destroy_ void *return_value = execute(else_lines, scope, return_type, false); if (DEBUG) printf("Else block executed !\n"); //!SECTION - else if (return_value != NULL) { - free(stack); + destroy_stack(stack); return return_value; } } else if (strcmp(word->value, "endif") == 0) { @@ -624,13 +626,13 @@ void *execute(list *parsed_code, Scope *scope, W_Type return_type, bool destroy_ void *return_value = execute(infloop_lines, scope, return_type, false); if (return_value != NULL) { if (*(int *)return_value == 1) { // break code is 1 - free(return_value); + w_free(return_value); break; } else if (*(int *)return_value == 2) { // continue code is 2 - free(return_value); + w_free(return_value); continue; } else { - free(stack); + destroy_stack(stack); return return_value; } } @@ -646,8 +648,8 @@ void *execute(list *parsed_code, Scope *scope, W_Type return_type, bool destroy_ fprintf(stderr, "Error: Unexpected value after 'break', line: %d\n", word->line); exit(1); } - free(stack); - int *result = (int *)malloc(sizeof(int)); + destroy_stack(stack); + int *result = (int *)w_malloc(sizeof(int)); *result = 1; // break code for infloop return result; //!SECTION - break } else if (strcmp(word->value, "continue") == 0) { //SECTION - continue @@ -658,8 +660,8 @@ void *execute(list *parsed_code, Scope *scope, W_Type return_type, bool destroy_ fprintf(stderr, "Error: Unexpected value after 'continue', line: %d\n", word->line); exit(1); } - free(stack); - int *result = (int *)malloc(sizeof(int)); + destroy_stack(stack); + int *result = (int *)w_malloc(sizeof(int)); *result = 2; // continue code for infloop return result; //!SECTION - continue } @@ -725,7 +727,7 @@ void *execute(list *parsed_code, Scope *scope, W_Type return_type, bool destroy_ } char *str = var->stringify(var); printf("%s", str); - free(str); + w_free(str); } else if (word->type == STR) { char str[strlen(word->value)-1]; strncpy(str, word->value+1, strlen(word->value)-2); @@ -849,7 +851,7 @@ void *execute(list *parsed_code, Scope *scope, W_Type return_type, bool destroy_ if (var_list->type != LIST) { char *var_type = w_get_type_str((W_Var *)var_list); fprintf(stderr, "Error: Expected list name after keyword 'append', got '%s' (type: %s), line: %d\n", word->value, var_type, word->line); - free(var_type); + w_free(var_type); exit(1); } current_word = current_word->next; @@ -914,7 +916,7 @@ void *execute(list *parsed_code, Scope *scope, W_Type return_type, bool destroy_ if (var_list->type != LIST) { char *var_type = w_get_type_str((W_Var *)var_list); fprintf(stderr, "Error: Expected list name after keyword 'append', got '%s' (type: %s), line: %d\n", word->value, var_type, word->line); - free(var_type); + w_free(var_type); exit(1); } current_word = current_word->next; @@ -945,7 +947,7 @@ void *execute(list *parsed_code, Scope *scope, W_Type return_type, bool destroy_ if (var->type != INT) { char *var_type_str = w_get_type_str(var); fprintf(stderr, "Error: Expected int value after keyword 'index', got '%s' (type: %s), line: %d\n", word->value, var_type_str, word->line); - free(var_type_str); + w_free(var_type_str); exit(1); } index = *(int *)var->value; @@ -1056,8 +1058,8 @@ void *execute(list *parsed_code, Scope *scope, W_Type return_type, bool destroy_ dummy.type = type; char *type_str = w_get_type_str(&dummy); fprintf(stderr, "Error: Expected %s value after keyword 'assign', got '%s' (type: %s), line: %d\n", type_str, word->value, var_type_str, word->line); - free(var_type_str); - free(type_str); + w_free(var_type_str); + w_free(type_str); exit(1); } value = var->copy(var); @@ -1135,13 +1137,13 @@ void *execute(list *parsed_code, Scope *scope, W_Type return_type, bool destroy_ char *src_type_str = w_get_type_str(src_var); char *var_type_str = w_get_type_str(var); fprintf(stderr, "Error: Expected %s value after keyword 'to', got %s (type: %s), line: %d\n", var_type_str, word->value, src_type_str, word->line); - free(src_type_str); - free(var_type_str); + w_free(src_type_str); + w_free(var_type_str); exit(1); } else { char *value = src_var->stringify(src_var); var->assign(var, value); - free(value); + w_free(value); } } else { if (type == INT) { //get int value @@ -1197,20 +1199,21 @@ void *execute(list *parsed_code, Scope *scope, W_Type return_type, bool destroy_ } } } - free(stack); + destroy_stack(stack); + printf("ok\n"); current_line = current_line->next; } if (DEBUG) { printf("Exit Variables:\n"); //DEBUG char *str = w_dict_stringify(scope->vars); printf("%s\n", str); - free(str); + w_free(str); } - if (DEBUG && destroy_vars_on_exit) { + if (DEBUG && destroy_scope_on_exit) { printf("Freeing inner scope... (%p)\n", scope->vars); //DEBUG printf("%s\n", w_dict_stringify(scope->vars)); //DEBUG } - if (destroy_vars_on_exit) destroy_scope(scope); + if (destroy_scope_on_exit) destroy_scope(scope); return NULL; } @@ -1417,7 +1420,7 @@ void eval_parsed_lines(list_element *current_block, Scope *scope, list *stack) { w2->destroy(w2); return_type = IDENTIFIER; } - free(without_dot); + w_free(without_dot); } else if (word->type == NUMBER) { //if number if (is_float(word->value)) { W_Float *w = w_var_init(FLOAT); @@ -1448,16 +1451,42 @@ void eval_parsed_lines(list_element *current_block, Scope *scope, list *stack) { } W_Var *result_var = (W_Var *)list_pop(result); char *str = result_var->stringify(result_var); - W_Word *result_word = (W_Word *)malloc(sizeof(W_Word)); + W_Word *result_word = (W_Word *)w_malloc(sizeof(W_Word)); result_word->type = return_type; result_word->value = str; result_word->line = line; + result_word->is_generated = true; list_append(stack, result_word); } current_block = current_block->next; } } +/** + * \brief Destroys the stack and generated words only. + * \param stack The stack to destroy. + */ +void destroy_stack(list *stack) { + if (DEBUG) { + for (int i = 0; i < list_size(stack); i++) { + printf("%s ", ((W_Word *)list_get(stack, i))->value); + } + printf("\n"); + } + list_element *current = stack->head; + while (current != NULL) { + W_Word *word = (W_Word *)current->value; + list_element *next = current->next; + if (word->is_generated) { + w_free(word->value); + w_free(word); + } + w_free(current); + current = next; + } + w_free(stack); +} + /** * \brief Removes priority dots of operations from the given word. * \param word The word to remove the dot from. @@ -1470,7 +1499,7 @@ char *remove_dot(W_Word *word) { priority++; } else break; } - char *without_dot = (char *)malloc(strlen(word->value) - priority + 1); + char *without_dot = (char *)w_malloc(strlen(word->value) - priority + 1); strncpy(without_dot, word->value + priority, strlen(word->value) - priority); without_dot[strlen(word->value) - priority] = '\0'; return without_dot; diff --git a/src/lexer.c b/src/lexer.c index 1377a05..8bc6121 100644 --- a/src/lexer.c +++ b/src/lexer.c @@ -26,7 +26,7 @@ char *operators[] = { }; /** - * \brief Tokenizes the given file into a list of lists of words. (malloc) + * \brief Tokenizes the given file into a list of lists of words. (w_malloc) * \param source The file to tokenize. * \return A list of list of words. */ @@ -41,7 +41,7 @@ list *word_tokenize(FILE *source) { int eval = 0; //if there is a word to eval int eval_str = 0; //if the word to eval is a litteral str - W_Word *w = (W_Word *)malloc(sizeof(W_Word)); + W_Word *w = (W_Word *)w_malloc(sizeof(W_Word)); list *line = list_init(); list_append(code, line); for (int i = 0; i < size; i++) { @@ -59,15 +59,16 @@ list *word_tokenize(FILE *source) { } if ((c == ' ' || c == '\t' || c == '\n' || c == EOF) && !eval_str && eval) { fseek(source, start, SEEK_SET); - char *value = (char *)malloc(i - start + 1); + char *value = (char *)w_malloc(i - start + 1); fread(value, 1, i - start, source); value[i - start] = '\0'; w->value = value; w->type = word_type(value); w->line = n_line; w->parsed = false; + w->is_generated = false; list_append(line, w); - w = (W_Word *)malloc(sizeof(W_Word)); + w = (W_Word *)w_malloc(sizeof(W_Word)); eval = 0; } if (c == '\"') { @@ -83,13 +84,14 @@ list *word_tokenize(FILE *source) { } if (eval) { fseek(source, start, SEEK_SET); - char *value = (char *)malloc(size - start + 1); + char *value = (char *)w_malloc(size - start + 1); fread(value, 1, size - start, source); value[size - start] = '\0'; w->value = value; w->type = word_type(value); w->line = n_line; w->parsed = false; + w->is_generated = false; list_append(line, w); } return code; diff --git a/src/list.c b/src/list.c index 5a8f5de..95f1212 100644 --- a/src/list.c +++ b/src/list.c @@ -6,11 +6,11 @@ #include "list.h" /** - * \brief Initialize a list (malloc) + * \brief Initialize a list (w_malloc) * \return A pointer to the new list **/ list *list_init() { - list *l = (list *)malloc(sizeof(list)); + list *l = (list *)w_malloc(sizeof(list)); l->head = NULL; l->tail = NULL; l->size = 0; @@ -19,12 +19,12 @@ list *list_init() { } /** - * \brief Add an element to the list (malloc) + * \brief Add an element to the list (w_malloc) * \param l The list to add the element to * \param value The value of the element to add **/ void list_append(list *l, void *value) { - list_element *e = (list_element *)malloc(sizeof(list_element)); + list_element *e = (list_element *)w_malloc(sizeof(list_element)); e->value = value; e->prev = l->tail; e->next = NULL; @@ -93,7 +93,7 @@ void *list_get(list *l, int index) { } /** - * \brief Insert an element into the list (malloc) + * \brief Insert an element into the list (w_malloc) * \param l The list to insert the element into * \param index The index to insert the element at * \param value The value of the element to insert @@ -102,7 +102,7 @@ void list_insert(list *l, int index, void *value) { if (index < 0 || index > l->size) { return; } - list_element *e = (list_element *)malloc(sizeof(list_element)); + list_element *e = (list_element *)w_malloc(sizeof(list_element)); e->value = value; if (index == 0) { e->prev = NULL; @@ -144,7 +144,7 @@ int list_size(list *l) { } /** - * \brief Remove and return the last element in the list (malloc) + * \brief Remove and return the last element in the list (w_malloc) * \param l The list to pop the element from * \return The value of the last element in the list, or NULL if the list is empty **/ diff --git a/src/parser.c b/src/parser.c index 4b931cb..2d08e42 100644 --- a/src/parser.c +++ b/src/parser.c @@ -1,7 +1,7 @@ #include "parser.h" /** - * \brief Parses the given list of words into a parsing tree. (malloc) + * \brief Parses the given list of words into a parsing tree. (w_malloc) * \param tokenized_code The list of list of words to parse. * \return A list (code) of list (line) of list (operation) of words, representing the parsed code. * [ [ [ word ] ], [ [ word, word, word, ... ] ], ... ] @@ -20,7 +20,7 @@ list *parse(list *tokenized_code) { } /** - * \brief Parses the given list of words into a parsing list. (malloc) + * \brief Parses the given list of words into a parsing list. (w_malloc) * \param line The list of words to parse. * \return A list of lists of words, representing the parsed line. */ @@ -78,7 +78,7 @@ int get_priority(char *operator) { } /** - * \brief Returns a list representing the given operation in post-order. (malloc) + * \brief Returns a list representing the given operation in post-order. (w_malloc) * \param current_word The current operation to parse. * \return A list representing the operation. */ diff --git a/src/scope.c b/src/scope.c index e1b6ea6..45c8f42 100644 --- a/src/scope.c +++ b/src/scope.c @@ -5,7 +5,7 @@ * \return A pointer to the new scope. */ Scope *init_scope() { - Scope *scope = (Scope *)malloc(sizeof(Scope)); + Scope *scope = (Scope *)w_malloc(sizeof(Scope)); scope->parent = NULL; scope->vars = w_dict_init(); return scope; diff --git a/src/w_alloc.c b/src/w_alloc.c new file mode 100644 index 0000000..31fc497 --- /dev/null +++ b/src/w_alloc.c @@ -0,0 +1,47 @@ +#include "w_alloc.h" + +#if MONITOR_MEMORY + +int w_alloc_count = 0; +long long int w_alloc_used = 0; +long long int w_alloc_total = 0; + +/** + * \brief Allocates memory for the given size. + * \param size The size of the memory to allocate. + * \return The allocated memory. + */ +void *w_malloc(size_t size) { + void *ptr = malloc(size); + if (ptr == NULL) { + fprintf(stderr, "[MEMORY] Error: Could not allocate memory\n"); + exit(1); + } + printf("[MEMORY] Allocated %zu bytes at %p\n", size, ptr); + w_alloc_count++; + w_alloc_used += size; + w_alloc_total += size; + return ptr; +} + +/** + * \brief Frees the given memory. + * \param ptr The memory to free. + */ +void w_free(void *ptr) { + printf("[MEMORY] Freeing memory at %p... ", ptr); + //test if ptr is not already freed + free(ptr); + printf("Freed\n"); + w_alloc_count--; + w_alloc_used -= sizeof(ptr); +} + +/** + * \brief Prints the memory usage. + */ +void w_alloc_print() { + printf("[MEMORY] Memory usage: %d allocations, %lld bytes used, %lld bytes total\n", w_alloc_count, w_alloc_used, w_alloc_total); +} + +#endif \ No newline at end of file diff --git a/src/w_bool.c b/src/w_bool.c index 1d6ff18..c9689d5 100644 --- a/src/w_bool.c +++ b/src/w_bool.c @@ -1,11 +1,11 @@ #include "w_bool.h" /** - * \brief Initializes a new boolean. (malloc) + * \brief Initializes a new boolean. (w_malloc) * \return A pointer to the newly created boolean. */ W_Bool *w_bool_init() { - W_Bool *b = (W_Bool *)malloc(sizeof(W_Bool)); + W_Bool *b = (W_Bool *)w_malloc(sizeof(W_Bool)); b->type = NULL_TYPE; b->value = NULL; b->destroy = &w_bool_destroy; @@ -18,7 +18,7 @@ W_Bool *w_bool_init() { } /** - * \brief Assigns the value of the given boolean. (malloc) + * \brief Assigns the value of the given boolean. (w_malloc) * \param b The boolean to set the value of. * \param value The value to set. */ @@ -31,7 +31,7 @@ void w_bool_assign(W_Bool *b, char *value) { var_value = false; } if (b->type == NULL_TYPE) { - v = (bool *)malloc(sizeof(bool)); + v = (bool *)w_malloc(sizeof(bool)); b->type = BOOL; } else v = b->value; *v = var_value; @@ -39,14 +39,14 @@ void w_bool_assign(W_Bool *b, char *value) { } /** - * \brief Sets the value of the given boolean. (malloc) + * \brief Sets the value of the given boolean. (w_malloc) * \param b The boolean to set the value of. * \param value The value to set. */ void w_bool_set(W_Bool *b, bool value) { bool *v; if (b->type == NULL_TYPE) { - v = (bool *)malloc(sizeof(bool)); + v = (bool *)w_malloc(sizeof(bool)); b->type = BOOL; } else v = b->value; *v = value; @@ -63,12 +63,12 @@ bool *w_bool_value(W_Bool *b) { } /** - * \brief Stringifies the given boolean. (malloc) + * \brief Stringifies the given boolean. (w_malloc) * \param b The boolean to stringify. * \return The stringified boolean. */ char *w_bool_stringify(W_Bool *b) { - char *str = (char *)malloc(6); + char *str = (char *)w_malloc(6); sprintf(str, "%s", *b->value ? "true" : "false"); return str; } @@ -83,7 +83,7 @@ void w_bool_destroy(W_Bool *b) { } /** - * \brief Copies the given boolean. (malloc) + * \brief Copies the given boolean. (w_malloc) * \param b The boolean to copy. * \return A pointer to the newly created boolean. */ diff --git a/src/w_dict.c b/src/w_dict.c index 0b979bc..c76cfc1 100644 --- a/src/w_dict.c +++ b/src/w_dict.c @@ -1,11 +1,11 @@ #include "w_dict.h" /** - * \brief Initializes a new dictionary. (malloc) + * \brief Initializes a new dictionary. (w_malloc) * \return A new dictionary. */ W_Dict *w_dict_init() { - W_Dict *d = (W_Dict *)malloc(sizeof(W_Dict)); + W_Dict *d = (W_Dict *)w_malloc(sizeof(W_Dict)); d->type = DICT; d->keys = list_init(); //list of keys, is a normal list d->values = w_list_init(); //list of values, is a w_list list @@ -15,7 +15,7 @@ W_Dict *w_dict_init() { } /** - * \brief Sets the given key and value in the given dictionary. (malloc) + * \brief Sets the given key and value in the given dictionary. (w_malloc) * \param d The dictionary to set the key and value in. * \param key The key to set. Must be a string. * \param value The value to set. @@ -36,7 +36,7 @@ void w_dict_set(W_Dict *d, char *key, void *value) { current_value = current_value->next; } } else { - char *key_copy = (char *)malloc(strlen(key) + 1); + char *key_copy = (char *)w_malloc(strlen(key) + 1); strcpy(key_copy, key); list_append(d->keys, key_copy); w_list_append(d->values, value); @@ -115,7 +115,7 @@ void w_dict_remove(W_Dict *d, char *key) { } /** - * \brief Stringifies the given dictionary. (malloc) + * \brief Stringifies the given dictionary. (w_malloc) * \param d The dictionary to stringify. * \return The stringified dictionary. */ @@ -136,7 +136,7 @@ char *w_dict_stringify(W_Dict *d) { } // Allocate memory for the resulting string - char *str = (char *)malloc(size + 3 + 6 * d->keys->size); + char *str = (char *)w_malloc(size + 3 + 6 * d->keys->size); str[0] = '{'; str[1] = '\0'; diff --git a/src/w_float.c b/src/w_float.c index dd168db..ae20b7b 100644 --- a/src/w_float.c +++ b/src/w_float.c @@ -1,11 +1,11 @@ #include "w_float.h" /** - * \brief Initializes a new float. (malloc) + * \brief Initializes a new float. (w_malloc) * \return A pointer to the newly created float. */ W_Float *w_float_init() { - W_Float *f = (W_Float *)malloc(sizeof(W_Float)); + W_Float *f = (W_Float *)w_malloc(sizeof(W_Float)); f->type = NULL_TYPE; f->value = NULL; f->destroy = &w_float_destroy; @@ -18,7 +18,7 @@ W_Float *w_float_init() { } /** - * \brief Assigns the value of the given float. (malloc) + * \brief Assigns the value of the given float. (w_malloc) * \param f The float to set the value of. * \param value The value to set as a string. */ @@ -26,7 +26,7 @@ void w_float_assign(W_Float *f, char *value) { float *v; float var_value = atof(value); if (f->type == NULL_TYPE) { - v = (float *)malloc(sizeof(float)); + v = (float *)w_malloc(sizeof(float)); f->type = FLOAT; } else v = f->value; *v = var_value; @@ -34,14 +34,14 @@ void w_float_assign(W_Float *f, char *value) { } /** - * \brief Sets the value of the given float. (malloc) + * \brief Sets the value of the given float. (w_malloc) * \param f The float to set the value of. * \param value The value to set. */ void w_float_set(W_Float *f, float value) { float *v; if (f->type == NULL_TYPE) { - v = (float *)malloc(sizeof(float)); + v = (float *)w_malloc(sizeof(float)); f->type = FLOAT; } else v = f->value; *v = value; @@ -58,13 +58,13 @@ float *w_float_value(W_Float *f) { } /** - * \brief Converts the given float to a string. (malloc) + * \brief Converts the given float to a string. (w_malloc) * \param f The float to convert. * \return The float as a string. */ char *w_float_stringify(W_Float *f) { int len = snprintf(NULL, 0, "%f", *f->value); - char *str = (char *)malloc(len + 1); + char *str = (char *)w_malloc(len + 1); sprintf(str, "%f", *f->value); return str; } @@ -79,7 +79,7 @@ void w_float_destroy(W_Float *f) { } /** - * \brief Copies the given float. (malloc) + * \brief Copies the given float. (w_malloc) * \param f The float to copy. * \return A copy of the float. */ diff --git a/src/w_function.c b/src/w_function.c index bf407ed..7ee2d2e 100644 --- a/src/w_function.c +++ b/src/w_function.c @@ -1,11 +1,11 @@ #include "w_function.h" /** - * \brief Initializes a new function. (malloc) + * \brief Initializes a new function. (w_malloc) * \return A new function. */ W_Func *w_func_init() { - W_Func *f = (W_Func *)malloc(sizeof(W_Func)); + W_Func *f = (W_Func *)w_malloc(sizeof(W_Func)); f->type = FUNCTION; f->return_type = NULL_TYPE; f->args = dict_init(); @@ -26,18 +26,18 @@ void w_func_destroy(W_Func *f) { } /** - * \brief Converts the given function to a string. (malloc) + * \brief Converts the given function to a string. (w_malloc) * \param f The function to convert. * \return The string representation of the function. */ char *w_func_stringify(W_Func *f) { - char *str = (char *)malloc(sizeof(void *)*2 + 13); + char *str = (char *)w_malloc(sizeof(void *)*2 + 13); sprintf(str, "function at %p", f); return str; } /** - * \brief Copies the given function. (malloc) + * \brief Copies the given function. (w_malloc) * \param f The function to copy. * \return A copy of the function. */ @@ -50,7 +50,7 @@ W_Func *w_func_copy(W_Func *f) { for (int i = 0; i < f->args->keys->size; i++) { char *key = (char *)current_key->value; W_Type *value = current_value->value; - W_Type *value_copy = (W_Type *)malloc(sizeof(W_Type)); + W_Type *value_copy = (W_Type *)w_malloc(sizeof(W_Type)); *value_copy = *value; dict_set(args_copy, key, value_copy); current_key = current_key->next; diff --git a/src/w_int.c b/src/w_int.c index e0f4e05..11cc828 100644 --- a/src/w_int.c +++ b/src/w_int.c @@ -1,11 +1,11 @@ #include "w_int.h" /** - * \brief Initializes a new integer. (malloc) + * \brief Initializes a new integer. (w_malloc) * \return A pointer to the newly created integer. */ W_Int *w_int_init() { - W_Int *i = (W_Int *)malloc(sizeof(W_Int)); + W_Int *i = (W_Int *)w_malloc(sizeof(W_Int)); i->type = NULL_TYPE; i->value = NULL; i->destroy = &w_int_destroy; @@ -18,7 +18,7 @@ W_Int *w_int_init() { } /** - * \brief Assigns the value of the given integer. (malloc) + * \brief Assigns the value of the given integer. (w_malloc) * \param i The integer to set the value of. * \param value The value to set as a string. */ @@ -26,7 +26,7 @@ void w_int_assign(W_Int *i, char *value) { int *v; int var_value = atoi(value); if (i->type == NULL_TYPE) { - v = (int *)malloc(sizeof(int)); + v = (int *)w_malloc(sizeof(int)); i->type = INT; } else v = i->value; *v = var_value; @@ -34,14 +34,14 @@ void w_int_assign(W_Int *i, char *value) { } /** - * \brief Sets the value of the given integer. (malloc) + * \brief Sets the value of the given integer. (w_malloc) * \param i The integer to set the value of. * \param value The value to set. */ void w_int_set(W_Int *i, int value) { int *v; if (i->type == NULL_TYPE) { - v = (int *)malloc(sizeof(int)); + v = (int *)w_malloc(sizeof(int)); i->type = INT; } else v = i->value; *v = value; @@ -58,12 +58,12 @@ int *w_int_value(W_Int *i) { } /** - * \brief Stringifies the given integer. (malloc) + * \brief Stringifies the given integer. (w_malloc) * \param i The integer to stringify. */ char *w_int_stringify(W_Int *i) { int len = snprintf(NULL, 0, "%d", *i->value); - char *str = (char *)malloc(len + 1); + char *str = (char *)w_malloc(len + 1); sprintf(str, "%d", *i->value); return str; } @@ -78,7 +78,7 @@ void w_int_destroy(W_Int *i) { } /** - * \brief Copies the given integer. (malloc) + * \brief Copies the given integer. (w_malloc) * \param i The integer to copy. * \return A copy of the integer. */ diff --git a/src/w_list.c b/src/w_list.c index 5d3b091..7f86a45 100644 --- a/src/w_list.c +++ b/src/w_list.c @@ -1,11 +1,11 @@ #include "w_list.h" /** - * \brief Initialize a list (malloc) + * \brief Initialize a list (w_malloc) * \return A pointer to the new list **/ W_List *w_list_init() { - W_List *l = (W_List *)malloc(sizeof(W_List)); + W_List *l = (W_List *)w_malloc(sizeof(W_List)); l->type = LIST; l->head = NULL; l->tail = NULL; @@ -18,12 +18,12 @@ W_List *w_list_init() { } /** - * \brief Add an element to the list (malloc) + * \brief Add an element to the list (w_malloc) * \param l The list to add the element to * \param value The value of the element to add **/ void w_list_append(W_List *l, void *value) { - W_List_Element *e = (W_List_Element *)malloc(sizeof(W_List_Element)); + W_List_Element *e = (W_List_Element *)w_malloc(sizeof(W_List_Element)); e->value = value; e->prev = l->tail; e->next = NULL; @@ -99,7 +99,7 @@ void w_list_remove(W_List *l, int index) { } /** - * \brief Remove and return the last element in the list (malloc) + * \brief Remove and return the last element in the list (w_malloc) * \param l The list to pop the element from * \return The value of the last element in the list, or NULL if the list is empty **/ @@ -213,7 +213,7 @@ char *w_list_stringify(W_List *l) { } // Allocate memory for the resulting string - char *str = (char *)malloc(size + 3 + 2 * l->size); // +3 for brackets and null terminator, +2*l->size for commas and spaces + char *str = (char *)w_malloc(size + 3 + 2 * l->size); // +3 for brackets and null terminator, +2*l->size for commas and spaces str[0] = '['; str[1] = '\0'; @@ -238,7 +238,7 @@ char *w_list_stringify(W_List *l) { } /** - * \brief Copy a list (malloc) + * \brief Copy a list (w_malloc) * \param l The list to copy * \return A copy of the list **/ diff --git a/src/w_stdlib.c b/src/w_stdlib.c index 8530b3f..ed79b5a 100644 --- a/src/w_stdlib.c +++ b/src/w_stdlib.c @@ -5,12 +5,12 @@ ***********************************************/ /** - * \brief Get the type of a variable as a string (malloc) + * \brief Get the type of a variable as a string (w_malloc) * \param var The variable to get the type of * \return The type of the variable */ char *w_get_type_str(W_Var *var) { - char *type = (char *)malloc(9); + char *type = (char *)w_malloc(9); switch (var->type) { case INT: strcpy(type, "int"); @@ -73,7 +73,7 @@ W_Type w_get_type(char *str) { ***********************************************/ /** - * \brief Add two variables (malloc) + * \brief Add two variables (w_malloc) * \param a The first variable * \param b The second variable * \return The result of the addition @@ -106,7 +106,7 @@ void *w_plus(W_Var *a, W_Var *b) { } /** - * \brief Subtract two variables (malloc) + * \brief Subtract two variables (w_malloc) * \param a The first variable * \param b The second variable * \return The result of the subtraction @@ -139,7 +139,7 @@ void *w_minus(W_Var *a, W_Var *b) { } /** - * \brief Multiply two variables (malloc) + * \brief Multiply two variables (w_malloc) * \param a The first variable * \param b The second variable * \return The result of the multiplication @@ -172,7 +172,7 @@ void *w_time(W_Var *a, W_Var *b) { } /** - * \brief Divide two variables (malloc) + * \brief Divide two variables (w_malloc) * \param a The first variable * \param b The second variable * \return The result of the division @@ -199,7 +199,7 @@ W_Float *w_div(W_Var *a, W_Var *b) { } /** - * \brief Modulo two variables (malloc) + * \brief Modulo two variables (w_malloc) * \param a The first variable * \param b The second variable * \return The result of the modulo @@ -220,7 +220,7 @@ W_Int *w_mod(W_Var *a, W_Var *b) { } /** - * \brief Integer division two variables (malloc) + * \brief Integer division two variables (w_malloc) * \param a The first variable * \param b The second variable * \return The result of the integer division @@ -241,7 +241,7 @@ W_Int *w_ediv(W_Var *a, W_Var *b) { } /** - * \brief Raise a variable to the power of another variable (malloc) + * \brief Raise a variable to the power of another variable (w_malloc) * \param a The first variable * \param b The second variable * \return The result of the power operation @@ -274,7 +274,7 @@ void *w_power(W_Var *a, W_Var *b) { } /** - * \brief Square root a variable (malloc) + * \brief Square root a variable (w_malloc) * \param a The variable to square root * \return The result of the square root operation */ @@ -297,7 +297,7 @@ W_Float *w_sqrt(W_Var *a) { ***********************************************/ /** - * \brief Logical AND two variables (malloc) + * \brief Logical AND two variables (w_malloc) * \param a The first variable * \param b The second variable * \return The result of the AND operation @@ -309,7 +309,7 @@ W_Bool *w_and (W_Var *a, W_Var *b) { } /** - * \brief Logical OR two variables (malloc) + * \brief Logical OR two variables (w_malloc) * \param a The first variable * \param b The second variable * \return The result of the OR operation @@ -321,7 +321,7 @@ W_Bool *w_or (W_Var *a, W_Var *b) { } /** - * \brief Logical NOT a variable (malloc) + * \brief Logical NOT a variable (w_malloc) * \param a The variable to NOT * \return The result of the NOT operation */ @@ -466,7 +466,7 @@ W_Bool *w_lequal(W_Var *a, W_Var *b) { ***********************************************/ /** - * \brief Initialize a variable (malloc) + * \brief Initialize a variable (w_malloc) * \param type The type of the variable * \return The initialized variable */ diff --git a/src/w_str.c b/src/w_str.c index 34451b5..576df86 100644 --- a/src/w_str.c +++ b/src/w_str.c @@ -1,11 +1,11 @@ #include "w_str.h" /** - * \brief Initializes a new string. (malloc) + * \brief Initializes a new string. (w_malloc) * \return A pointer to the new string. */ W_Str *w_str_init() { - W_Str *s = (W_Str *)malloc(sizeof(W_Str)); + W_Str *s = (W_Str *)w_malloc(sizeof(W_Str)); s->type = NULL_TYPE; s->value = NULL; s->destroy = &w_str_destroy; @@ -18,7 +18,7 @@ W_Str *w_str_init() { } /** - * \brief Assigns the value of a string. (malloc) + * \brief Assigns the value of a string. (w_malloc) * \param s The string. * \param value The new value. */ @@ -28,14 +28,14 @@ void w_str_assign(W_Str *s, char *value) { } else s->type = STRING; //strip quotes int len = strlen(value)-2; - char *v = (char *)malloc(len + 1); + char *v = (char *)w_malloc(len + 1); strncpy(v, value+1, len); v[len] = '\0'; s->value = v; } /** - * \brief Sets the value of a string. (malloc) + * \brief Sets the value of a string. (w_malloc) * \param s The string. * \param value The new value. */ @@ -43,7 +43,7 @@ void w_str_set(W_Str *s, char *value) { if (s->type != NULL_TYPE) { free(s->value); } else s->type = STRING; - char *v = (char *)malloc(strlen(value) + 1); + char *v = (char *)w_malloc(strlen(value) + 1); strcpy(v, value); s->value = v; } @@ -58,27 +58,27 @@ char *w_str_value(W_Str *s) { } /** - * \brief Concatenates two strings. (malloc) + * \brief Concatenates two strings. (w_malloc) * \param s1 The first string. * \param s2 The second string. * \return The concatenation of the two strings. */ char *w_str_concat(W_Str *s1, W_Str *s2) { - char *result = (char *)malloc(strlen(s1->value) + strlen(s2->value) + 1); + char *result = (char *)w_malloc(strlen(s1->value) + strlen(s2->value) + 1); strcpy(result, s1->value); strcat(result, s2->value); return result; } /** - * \brief Slices a string. (malloc) + * \brief Slices a string. (w_malloc) * \param s The string. * \param start The start index. * \param end The end index. * \return The sliced string. */ char *w_str_slice(W_Str *s, int start, int end) { - char *result = (char *)malloc(end - start + 1); + char *result = (char *)w_malloc(end - start + 1); strncpy(result, s->value + start, end - start); result[end - start] = '\0'; return result; @@ -94,14 +94,14 @@ int w_str_length(W_Str *s) { } /** - * \brief Stringifies a string. (malloc) + * \brief Stringifies a string. (w_malloc) * \param s The string. * \return The string representation of the string. */ char *w_str_stringify(W_Str *s) { - char *str = (char *)malloc(strlen(s->value)+1); + char *str = (char *)w_malloc(strlen(s->value)+1); strcpy(str, s->value); - return str; //bruh just to return the same string but malloc... + return str; //bruh just to return the same string but w_malloc... } /** @@ -114,7 +114,7 @@ void w_str_destroy(W_Str *s) { } /** - * \brief Copies a string. (malloc) + * \brief Copies a string. (w_malloc) * \param s The string. * \return A pointer to the copied string. */ From 3ca3a0e2aebbd21ad2a2118db0fbfbae008aaa21 Mon Sep 17 00:00:00 2001 From: Jeremy Li Date: Mon, 4 Nov 2024 21:30:31 +0100 Subject: [PATCH 2/7] Trying to find mem leak --- bin/word.exe | Bin 211966 -> 212767 bytes include/w_alloc.h | 2 +- src/interpreter.c | 9 +++------ 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/bin/word.exe b/bin/word.exe index ae2c5aae7960859adfa9b690aebd81fd0323c6b4..62110c2102a3ebfbf1834cfea4b23c60cb24cd59 100644 GIT binary patch delta 36403 zcmch=cUTq2`#!w0fKpVjpn#MkD1sHN*s-9;*f5r;Q2`aZf(Uj6MHEC79Cb`Iikhg2 zB`7LtEP%bEu@GYt(vPtOQ!I&w_nzI^J!kdvegFJ%UF-AAJx`lw>h9Td{O@^{E&o-? zPWN(Z8azRoCrf@#l2k4QN-nb8NV+CTQb^9WHuAN?oO|z(N3;QH>>zm%DJZ92O*)YT zIR{;Vh#RhJ^h44(_!c;uzi>$^Y?d%CCNV~mQd*;;99J7$rSu8$YV)Wv*bpK~j-b^* zZT`X~DZJSnRdo)R3m0;=X=mB1QZAQ{WT79)wP~X4Nqp%lxglvp598k^^jrMfj8?L1 zNLtZm__qxmihn!OMfmp_-GP6-=r#P?o<76BJ*cmJLt>^q@$VQq9skbBUvIydBp-4i zQs~9=68B}!bU2KnUN~x7@J3<$;;?=rl3dMWBRiT&$>Olc2uVsD549*%W>o#83z0IV zw8F&hM`f6^WL&~O2QPBN?mkseS0lsCvPmsJh6c(mZkAhz6wee-tuZ^y1H^FIog?C ztK9DWG$&MNN@fI7B_g!&7>_0NVnvC?`v~_`HO-kw74B^Zaw+#xE}T`h=ygSfIYYJ- zT|mh8hb1Y~=T0XgWz8q%u@&Z`U+v5pFD&o*bAfAAPwMvfIQ_Ns-jml5&85)sc04|&0J(~c%O&ytU7nK#6f06z&Mj#KofNhc4l=*BN@>Wr4iuG#yc8n*GBW zl0-XZdDCMqZuEH-w?>bPB@C{lhQeOvkiWQU)^w{m0nMYKRlE9DO|VvQ!Pl^-sDl6Y zG|jGRs=H|)pe%my^kTY>P&pC?iLR8}# zQfkhKrw8$YsLj0K{FmnmP0ck+6$s6HWI}!6fOJa($TJ` z$ujEiHow95x7GOGImJ88HSK|eqHs-t(@HQWEwh)>Vz=;sy}dCVOW>nxMk!1#QzVKl z{f|qM5`g8=DO$aU7wuBrk=&!^>dnI2Sv8*aR+M@PrMq8fN=fi*&P*$XBXcGOT9$hs zEZn>$9Zu52)%|7X9D1+%Jm;eVr6=g<8ePc}np?xW>z}<0A@x;ciY;r8Y1UhueABw) zm#Xy_2s^Ei7WJ&vceBw-TVbV(ZsnU3uxHPEe|I9+jtH@h7@@9S&D{(M$&l&5z-9sU zjRqepE{iQ^k7{9!J%LR5(NkUhx}WZ;H$mj+q7aYK#VZi2?hzv)vmXM8F!xq_{9W3- zR=2>;Z`oNX?A*s{s&>%46%f9!7xIREw+p((0sjsaik;+Ha+ZALk(!-+NR`j znlhRY)-~g+-im?#!oYu6($!!$DF#$!J}@%-MRI$h(dkK;?CCwZ58JWxxoBD!>I#VQ5RE+)5$Gw@I}H39ydv%zS8LkUXM$>zD(NbpGku1zjJ zKcFx;0Z>N7Fc=%g%U2Z)xdFo5 zsePLFQ3vQj-==}rI=tz*i4dKti#i{mmHmQ~8wy|Vp|7=^DZRo^D;-2-@!mHoi!7V@ zAuA&d1D~rY1X-)DTG5IgIGb3~CMc3P$8t%PtW%d(H#7a*&zsz*SNzP*FVAtgBFmSb zQ(se9=8~AG0UYUc%mVfqWZQY=b1RSUoH8;B4G`i`fc0voT%21=vv#&05v0_V% zu3zyvtx>N7k!k;Wp~)edUe^qw}c~jEFpQ7A`2*r*OrzbVyefb~*ecnY#GbB^k7#fAbbcafidB za6%N2;j&yNY`jv00i_s>qPlcv?4#-a9leJj@eh8$>FVt;8q+fWc4R&E3h)m06xM@3 z)AY|PJ^g0rduUWZJ5oo{xyNs>5YcC!YC7issne8x8_-(b)P~j#sM~U2I*=`!zz=y=p0S)|z{UWNL z?9{4Ps(CC_632&lZ6&fI%Y29+!D>a3<^4(AaKs#}NOO3?Zy`e(|Lquhu|ad^D~j59Y8N8OKwq5aO)Ro}wF_fqY-^r2 z`F0B$*`Qv)h;zKE*fQo5Ehq^c2b~#0XT~mgX)$!LD7NM%PPKxF;ZVcx0=b7-JNa6g z=x?lTCTfQ%wXSKu5zF{|SBED6r>eqIe78AQ2sniI{_XbDpNdYOSxaHcHfP_?QlF93;;iAWpM* zn$fsTKxs3*B|J?x6i3CDxm&en)cJ(|(|D(|=V{eP&+T+~6CdYaMA2_Mz1gIrvn=A9 zyPbM84Nd+*)OJSG%&8~JFaG-d<%1rf;IkY~3%yFvd$3v+x7k{q zM0Kxi>ekwTpD(i1J13A!67Nrw$i1|f}N}4{*M>iZ>0sze4Ouz zV$H4e+h%_9^FDe~e45v9F}<-NDSnEnVvFl$Eh&4E9(aC7`0(9IXEqOYZYYXB=F)x5 z>yqpAQgfeL=dmJi$5Jj2S~-{>r2jVesee&~aD9u~n(ne<^MC@Yt(i(Yh8%GIQ&@Pp znZ5`KbiOQ#7dO+O&>-?L9T?iZMcrUS#Df)?V$1Q3TErvZ1raY4%9l6ObD;xktQyK6 zvt&6m7x2W*G`NMS#z?>q>)P~HXZn5%|5{U(FM2JDly==89r|Ny*HJP z@S`7;Qr2opz8mPDVNE@q6l>U%sS?C6o*x7;eE@COu9>`HJ)P99p8U}oy0V=~9<-kB zYZu_&8LdLRdJZ98cRl^3ov(8Poa4B*3#HZC2Uh+2s9OAb4Q3Y|=;a$2X?ioTlZs5S z_gGl#Mw|AQqic+TF98|5r-j~m)^E+Wq#v2te) zCYs&RJ7Bk>qaKNSaX!^T&h>D}^EZogatlhYcWfQ7+sDx2Gq_*pP3W7gHQ_gk7JJd_ zLn}Kk;P)Z$xMdB$V-IX^RTT-~PY1Ym>1s`T7FCXCKY1IxG*t{0Thes70PaP31QwWT zl@(@*5U;0;pIXDu9S%R6;g44DTQ36lJ8zsls`3*YVmYx&i{*XvqGkGA4yVoG$;%p& zhde4QTJ_Uh*mS4Ab*?V^_M@*mdpQ4tqX%#A&1~w|B`jcAUEK#C98d9phC6tfr8!_Z zTB5wwa&UhIt?G=_{bxU^KlA4aOR#}mb3?WW*@h#a(I?nb) zL_8gxDm--uLg_I-cp=)4R%+39Ko_I=)`6C`0YO@>45N?3gG224;Iv`qZ4}9Jw-@a? zhOF{-wQ+z%mcw5Mm3FnTy5$-A;-KpD%S_GZjMZAZ8r<-BGejoD<8<+=bVj%*X-R#$ zg?5j5OFmA>SFF&?e}t&eq+Mu7rj+`^Au&mmcrQ+jqB-3H$qRaU^$mH_w zfy}W8&6L+FW#FdQ(WB%oswdQfb(iO}v_5xks8kkN7OYgJM;)uG=!3uW)qEVv(7X)F zQoIz^HhAHW+jw7%(d8uWR z_NDd_p@H+>Qi#N1nS1uo6%J?8_anMh`>u&3rIwSWg^ATICkN8q5kB&Fed(nLufE+A zxJp_IcBY4B+wqj;{$8#ct_AJD0sW05cxO?2NvTb$V)5)wLwa_WuMMK{J>5OO7K;r} z0v~C0D#KWo!-f6INV`{4Z!7PYOtC`DU#2zGbA>k20_R#~MP4Qd@jANrp$tBQh6jlElwWO}1_Xz#slZ@Ng`qPD9~suth_ED zBS4j9)S*xFu=!R|-n?2u&Rdr|hF-{Aw*bQvk(LRMKJU`0eTD=)!6*AR&mBJ(9k+V1 z=A>zw-UFw$sm=N!Rq26+R#njhGlh0tUHj-#rJoyGMR|x5h1`V{&CB?u`dB?zRgXxR z?I^^@>EiNIWwj4#kAV1UA2{YMrAVCC`4E(JrOl~yX1`WW2}t#W1Xq0SIK$Ux%n$f< z-+0Gv+Mz0@Bx}L>qPK0QHG0;kz9cOzbY1#eB~)cOjNQw1l$*0R1P=|S&HJ}*)5q$D zC%{{gFSa~dr1@BZ-pWj?f zzkYXA;Oxq8dVTz<>eU^FRMGr}bo8M1fpy*zy)8r!;Yg>74q8Z0LbRaLn^sQ<(IL9% zp9`q(U?1nYI1}87&-~oTbGxa-KfG zW0gvLHZfPp)E>Jx!)qk8-_f-#bCm%;)GEro_zAh^Nt%~+bCm&}x=QVuT62`HnJkLW zW-AVJZ(fn+ zp>7&soM4Q+G_M&R$Ui|C9@HXFtdnj~#dudFA=0I}Qgjmeyot*n8GhV;gJ_x z7VDyZ=#A79tq`BRYZ^8x!_uDR-Yb(U6j@3Wm7F&d#bb#|&WF6^V7GAa=L{{DoFtm^ zewb&jQc+}Sj{NX(Ka{TkSq|BsD5tlb|LKwPArLLBm~|_^B&At`9^CWrG$iT@HMoL4Q$~kUpHV*DwyskfzZcm;%u93B^zfHn z@E*$FxZC2XS*_G2&PK0`8n+C!CMkg~7}csz#Vg@oNa!Dyb^e&k;o)1H7I!Q3Hl(yy z0`}EFG0UN+B3EQtpP)Q{bsb$jxm;;Mk!1p$^WnxHU5IIZIRt!0S~QO`QzeM9vnr^d zC`L50eu%5TgQ0&QxlLHlnf{jbX^M4ke13+$`ClIcKM$f`jBZyQVRzro11Yj(L-N5~ z`fPLqGKhLd^>$CG3*Zkoyfl^e0x7k}W$~l)qDK4mtggh4U7E+PkSzD%+f+LbKF4pRLy%CI@88TijU&G&<2{OLPy{oaKsVry+@BX zy)X3ScKG{Uk!}jjD5|(=ri)^No&7~fq0@OnlFuNCHph^ka}`sT*eO~_cE*sl^PBjL zh!UHSvQ_8;LIND2yeSqQ@n%T59!f}%P(tD-A0E>CV}hNQDo*i=0nLkPlKks)Lqui~ zQTk*pqCjnIUHLW!tML=-kQ*!dUb z=A_6ndn!-T6lY^dyOr8v%kD{9NWC$BZ2Uj)QbH=Xf$pe~1t9@eU;Xp#^=3%F)TU%y zC+FV6{fASOLEH41AtTj<`)d<5_fs)|Yw#TIuxq<)k3Og45_HL z5>l8=Nc&VM1R(*&>xQu2?X8eb^4$Y3(TR}4L`a<`20KTKkP;^F&KO+D7*azK(#~;O zND&yPHvWI+-JB5-4(s9E_mj5x`Ux&<9`+(dKnS%HqclVnuw49M@;0_7rhnIOjji& zNGKu2i;&W%1UvhQkQ$DoUrcG7eC&xKq#r-v9*ZsS$7mtF#89#E{{bI*cm^mL&{PHG zZ+om$Yt)xMvfm0UyPBe>3L!QcJGFK7If_%9WY9JI1bLGV7*{{^#$!Wd-9%&w(OP6~ z#>n#4Omh$UkPi>_l_12Dtwx#73G%f5t#G!|h-p1#m%21-T9Dfjd;Y8=ae(^Oh<|$1 zv(q|P|Dg&_G<}KYb9ZlAYkFrw>7eN$Mr&#f$I!2* zw~$L+sB2uk!1%W`e3`0IP1o2HLx;w-Bh_hkT&;FLtyin}jM5CggZ{DUmEU+;#mi(_ z4yt&O<&$W7EiO>LU57r4dk=Rr{p0<}Tsl48I~ixVmWs_H%l#;BNqzqxd(gu{D7@fb z2GHK0&kV<6ue=gp?s_=f9U1b5NV#?>J-`=H@hbfem4CsL{h`WRp!>p{y6}aRv_o-& zs${$gWu7rSVi8(vZg)E2+(VL$I+JE{JjXMNGb3J^H<*L*abGv(+Y4>gwGp1Jq8&!l zUuHC};mb8_;QvO^fP`K(_F_PpGi%A3<8`Cxf`l-6$|!m`A!5x;ziLTHs8%^+6m2@w zLmn`S_L|vL-cXCqn%S}141wU%pS*C61MA)ujIC)T7AAJ%}Z`xZSO!OEM@p_9Y`N1d&=s_y+;Y{hBGZnhE^6z#sNCxHvB0TYdAprFJEY+N>SMH-mMsl&evzsc>zk=pT8re{qG;h;J?@$G(RD{uTt|g6x=@w+LLDW=qAs7; z@zJH!*()RHGf~HQ9UomvojUT?iMsi`j*qS*P1GUFN7qtO8HGwkO^mK2f%ob~pQkl& z9xRI4@6f?QU4M)+FKVl|2H;B2Tq z87kqYME*T6tmXU*NXkrZDa5|$fknvS>W$HBn%2~PM?2CKgxfr`T(wPLSL zg@SLw*H-4&q*>HCS+QH5qPmZST}2&jS<3^+a(FJP_9Ba!4qadguOnnQv{5a$`Te>5+7A;zMtz2iPCPmj~&q^bz($RVIKg%xK@@?^paQg-Tz! z@x2FYE_OF3G@@=Y#z$o^b->^YC@<9Ss<_ez8K1cOTGj9hXeI9S@{|1SD*}l9FaN;L zrOf*B<;VHunPwulFQ@IZhRXLI<*&)=MC`wLUQv<%<*EWAA9_qzX8&Q|>~AP6$;r2$ z{TG-I*VLz@*0i&)trix`-zQNYYO;^}6O~xujef!#tZEq|sR)()3bXVdj-8`k;#sivsh>Y-Kqi)!uYt+nmsikZ}PU8H?K zh|sa?0_;!C1mol4Pxq|zl6U+_FRW`SpZSqKU)RfidO51Pt>0^Z;&(9pnLl-Bt?kFC zh4Ew}J;dty+E+{ z&1L(0Kcn(auBmF9i5Lm?GIrQ3_eRui>lb7dJ+;+DX3#SHJCu@bKKM?pAN~!Xo$#+S zeSe#e{B(T&yltll>5$+4<5EIC%&)oQDL=kW3%lu`F%Bqb+?%RfZYktaIWy0aY4GA^e* zb6tfuBG6Wc3(M)g69eU><&>OkQll5I&l=1RD1ALVD%>l7NV}Y@C%Z1EV@@_5@w2i~ z^>OT-@s&AakXwcOCLH;3)Hqz>K87Fuv#Q#`GtSlHFvWRnq0b)F<6&evdM1z=p~M3RZXQMihX2XaK_h&N~DMuEKpt4*m38 zBS$9y7498!=-21=lC?DB{0ibkYh6gjjnUc*T}W?w3;abo_+l51TwE=`jL2_rX|x?_ zN0(l0N!;m?t5HEiy1|H>Wf5GUAv>{^TktfC^OW;LRX*8?cDd$}?5+xTR>28efbZcD z9>jUv&Tzg9c%I_Z*viCTMT2db*x|C@q}mtBD;m5b>i_>}GB=yh+@qlg$S}f=R zLAMFIM$jdKCI~u4(03L3phH+ig*IS7u@EYM1??tiPeJ<$I!MqFg2o6sLC`6J#tAx8&{--? zmgWl}MbKq}t`M}IpsNL4E9gc+w+s52pm~BG74(Fl#e$v}^qN9lBj>&CXn>%N1Z^g0s7mc5(|vlW#FvKO3Q3N? zqxC4d4}aNjl*`^Io9-IrO|jD2$8PIqs=h*>dHlVTDlO`l+jk4cyrJI*w9()8Gw&6+in;-@Cfr0@LQ zG(YZ-aQnvH6Jk}dgxHx$Qxi?I;}XVksUER26BFX*asx9HW5!MamVfNocscp~ei8i! zygPi9DIy^uE}^}tdtB1gai-~UiKdvTQ{%?QB*vPi#ZHS$nCqhic%u6zj znVT3p(-f0vY7nmq>T*33Vq>{m)ru+t??jO#Dyg8dXXrlgrM6Jpz&8jRBdm=rgC zW)o9`sR&E;l7#jffW)}On5l|e>hrR@&wvdT6<@Q8ir;X(!sUpv2d*GoVfhPRcDKuE z=w_dHP9!-eq>@{T+HsD8uFQY>Y7p@(-B(eu5?6g(dvG1cbp_X^{89gnB@N>9D=OZ+ z&Il~zU_}Mz|D!)w^ywzuHx3-6Qdu(8l;T6-2CD!6t6WxRT>@zqnj2{pOMj!h^o?@L zx*Nogl&vcwe(Umx8^ZxAoMf{YLi|EY-jKzQ0U1JyJZ~(=7wjh_#EFqA?81;wwW(UufTKKXaRl%2;Yq7G!0iR@SJ{)%LKj*v;w66^=~Fxs7~GX4D@cnO>RvK5H%77EKy_!!59GVq+X z%R=kHbDFRUtq0F(R5n`QjVQEE4q6Z11Ud|t2|TAqaWw(YsRbARiGp&_eK_Rx0MBVn z97H3**GvY}57$T(B0Cd=Ug6EWfqhc+1PUqpu1O^? zB#i^lX-8b~;KM=t#%<3;5l89jDLEdumW@=u1N5lcKH;U0MBXl-RKhVoG!*S6+EZ^;+g|q z+QaWn5G;63@9l*{@SGm_9J2#Fr~Iw(J>WTw%||A|Cvzs?kR)9}fzy9*-3QO%P-Jk@SKv9Xfb$BpW!lt=k(zz^#3pv zz({3<82R8iy*(V%&_O2Bj4?@Nqq@R6V;xXQqDTKN_-2i^@d6_*8kHt0EA zkGKrz@Y~2J_-N3;JCgJlcpTQGRk&XC#QKkunsgJF)C=ha^}LHzgU1O?nuyB{JWglQ zHeBA|aq^P#aq*uKDgXJ_4GIJTw+qfdZmw{IM3Yi9v6P*)@H5EK=6r{g#CH7K&z;1ml(xgQQ%1E|!tEMFVii@Y6Qzv^O z*>^+QMg3pED%axm1*2<`=Y(~tO{%a-o}?8!;f^gF#ro`{TEwwnZ*9`t;jlLet5Ss@ zWw>z+BK6!@5bsQKi25(ikU0g_nvj1SWXC2q_jiJ3FWlRvfB_hXAELRYK)vy zuQn@eLn56qOcm&v9fv~Nk`M>w=+9!ZWF^v+w#3azJNLll9e|l5 zZec*Qdw>=k2@fM7&e|!zwp7mG8k-oGFjF#>on^7(NxPa&h2Ufex|4UE>~hbt z{o{!@cXWL`sa>hYL~+7%cpoCw+??#9+4HI7g&cpb;OR8tM8L3D(@7>PosEIT;>cJz zCvewQ=Lm)1U68p3Uvi zm?X(wo^6s7;nsT33t{2`#ARdD&+H07EI5+%zn=z9`eP@%xM+r z%xUjcq-}%SLc5Z?;tJL^yB}T=c0atrK3PS=T{OTRK=~@tuE91T@wV>on(pscSpU_C zNdxSEXVbG0)90%Z)AK9r)@ovQ87-PiMqgzOvq>i%umcd6P1=nZFC;Wiyz%&}nqrfv zKrC)bvWAIdNiNu)l<}_T(WF&jQND!Sm0f0X4rwa;U16a)q^7+5QbErgvWCbd7udZu zNOs;u){2s56Mwp>TB=o5l8Tg64VP!)nDIp56;&k3<&`Mt?p}Cmw^UU_L|qyT$ZEGL z21W^d8t|%%FS1LN__Xl9WR1I@HUNtL_kR=Q=p4X=YP|S$i^&gkpS=K2p^~Hu^OnjI?t7(-+v)wO9l$USJQ`k`;2^ z)q>gU$W%fK*-z_9SGgSB$4H?3>M9$+kk!1aY!M@KHn22`U$-9#CZvy-gd3vN)kXCkxIYg>% zFBatr4VRp~ud^K3l3QPAdqI2j6(U@HkgGbuI|%hLqHer~OVwu!Xs&?5B)l|8cP$~Gxbr!XYB+7-?3vTZs-`f)tE7*%k;5d-o-%FBZ zX<)&qeZ-f@Avf5<&&eqHlN;>*=Oirb%nh}-7gWLsc_<34P(W^+>`dZm5YA9hScH;9 zJxRL3`sR_kwU!FN%Ng^uss_S=3kNRBFDT@Dbhu!SY6qx~=@Aq>RL zSFfrY1fH!rQC2j^1Z*dPJj_D$-~r+I2~FH!LnOySuq6dH9`B^tfZL4 z$l148%hRMjr^8Q^#&RwMPm{s2+bwqgG>PZ5{~6%*Zn61iuqBp!$?lvXZ8>#43%u-0 z*6}PEEk}OIHk~DAPJcNIhtXfM+UH0YIpa(A-Z?T!&b!Hq&ta;ay~)~~C(T@Li~f{u z-(+#;Nto9u0qk(W-2fKOI%=N;HTsejohMh21Gf4C=_I$i$*x@>J>}?|1+_1d{@B*< z6pX(_4#{Ac&sAt;++j1Wl59EqPJ!Juk|l#-Yf2E~)jRBu60%+{yHl{@23aeEVWwM{ z0k!V3^|uI-ED=h$vnVrzB4vJ)zK#oT4XOUZIM{%*k! zrQ~zCzRT#>@bJ;yf819HxsxO>{^ENCTgu#@;=B@4$~r$KiLQ~td?0q6>d~dF=qd3DjujvU=rCOr z9`Y#Xio$JP$SP%(|3IjPcUjOMuvI3Kex2JYzsq+2L3}3uEkMQAf1;4W4Lb>2Q+UBg z6#Aebh4MV&PDSZLn-p)e&E7uS>>c~6AmmRnGMJw#S9!}DltW{Xue_Td6>s~>bNNY) zMVjP&a^!{e_2k?99Cf#zJewb!3L*pKb9Q_W@@OdA6TYkX2FW;6VSzmqEZ>p&JkDw& z&voEK)v<*fkMZHxO7>)HTF5i7_kj0ezAfb`eEem$lqnxzrdIfNCm%sgTFdPS`mX>J(6&w#w4f43H=eR7LV>j>< zFf62_Y+uQ(G9FaiVJ*7IZTJE;nNzGs+c-t{-|Hgx({h1R0JN43a! zKBlz#Hew_Fc(P1$09lw2Xsb}4%K3b~JRxn90c9-(|eFFztL zP!9Ag$Qmo(u7y)t&OF)A;WnZwQ`y&G%T=}kG8?V3ylsUF%WBM(Ysbk7|eA!Em6!l@~#&E&+2Olr&mCQ#x(Q2XKule$3nYpFQ z-mLtJ>{L*&NDd`zaE4sJph}87k1)p-a((vMV%hwDyc2)cV#4_1e+TSw!X9ReoB^_R zvMq8GNSi6P$TvV5P1TS|Go!{&jf+W4WBr!Mbt`pn&kY`T%N zO`S9|F=|3=V$LiL;WEP@({i>gG7iY$IU1s9#mB|-uW?&LoDP}Pxf-H`h*U~>>{ObZ z&l;^pXzQ0DG-)0WEowf*m(A0}x!YwxKAvxjP$2CV+9F$lBrLK;@_|I9Xo!{>iM3lU z=i}z*@p3tUeVh&Ft494nxe^3vtkmYVT(0I9>7(YI;ta@DHGe8js^@~BiAQY z*xU@cuJi1uY077$<%+cqv!ll26HVlGiLJG-VXbDWhG^Ex75n_4J&H(DT^6%S?#>Q> zihZeKm0X$4TaP{N605!ptAF2246xc6*a_n~*Pe6j*CLAgtmz8OH2&-Ik*P{Q{|&ZG z_r=>{hx2vPQq4O@ssZ`ZfYb%@vjJ%Wq;s0BRtF&SbVO@Kq~eRWVl3ubHQtJLEa)Rl z(U5HHq!VRUxC(QA7@LtP2e^dPha``QRAbdwqh-bG(TYy&n@qH#7aSC(DXka;)_<9; z_t8N5Ew@Fc1376x<^t)TZYz@pB-()F09j%{wg7R(_GBHudBK1VWZFWffIQU^t?`9v z?7~X9r%ij0$gJ}Qw094CFAKwM=>{}!2-}i{=3Rz~yp>AxO2LL_+1mdV$RPvrCy?5! zY-I>`#~=ez6UaFO5&%SAt!Zg-=B?xiPy0%AlFJ*NM4GTutKFRd^Nka+K{vb zcI?|D$kwQA43S8Eh`6dlWWy%pa0$DZjQ}RXVtkI0!*jveAW{&MZM~5pp+@Oxbb$W;Ed=Hg^r0 za0=E7snUeYU?bMry8a5tO9Ns7a%-Kf%rhW2*V`fl$B}Gii&O#9YJ)A}31o!eRhnqBCv!nQ1E%*ctpZls2Vy&Gt9ngU-RwQxK zv{-yVxz&n{n}i)qirsESrp1i|67Y!?iB*LDu|eYFW+%rcNdN4x3eB96fc>)Hr&c6p zIydy64HB0CK#Kd!DucIXfRx!Fu``llrb;b$YcgD8E}BaAX~^uTsj)L>;sE>12AZJg zJ^b8Oh+8Vl(-3Yb6^3r_*AT5Yq)qJ6I;}VOI!u3lC^Uxtkq8M&{chc|dL$kmEppG$0p&L>;u%x((!-0r>$) zxdHj34WRaiY}F*3<|gTg*2)kiL_Wl(VzAYIb5&c*I&HwJ7SCcpSd&l0xciTNx&h5~ zfyvxMXs#EtY>;c$@jkR1Nt+b_|R>Y#UNvUJEI#(%8|oka7>P(H|i3 z>A7M9B#vzFr*QvjGxqIgAIN{OBRf!)T_8KMDjSjgS}b&<5+&IQu{nTP$~MUE*a%s? zCSRWfu@jrD680ZKqU;k$tXMABVCBbPsP9MeL3ZUc(ZC+8!Dimohn2=<7h)HVKg{BH zBP>nN%fW=W9azjkEb@iRF+QrW8$3+Y7FfEo2QFT0f$L$+Cl{_$7=r7?wd=DzxsVvM z50%+0Z7UKv42eiN%(5%ldF6!I*WoYX<{2_I3rL8X$A7lUK^|EshZktM)G`MX?YAMs z6?=Kpw#i=Dj*z*gJZUx9Pup_Dh#-oqev^JNwHh}Hh3&}lSK&UfYz7O5<0kRB1(JfKC zP%IHq@Bm4 zZi>>=b+m4cR($d~+8w(=ARD+ByXMG)Y9Fg7T{$I~efzm`MkIM?%ANzLMX!4mnDb;4 zVYN{ZTkQd;oLqr&CDxm3(+gU{CXrZoK7W9b6@9x>F7!-S$NgTFZtXLOAL0D4o>D zj;n;XRMZpK2@n^h-410uNVa%8ZV(5omn%az=ByZ4E@h4QI>Hkb#2zoeewnQffjNie zS8Qsrnt~?e7&}n_cUyRqPieiId2Z^2HqfMI*nFcVGB&$*D#CCS;ipWPZ7F>k+q{zhc zv6`*t*^wP7!U$e^4QOAMQ;cqjKc|mg{#L-fVyt|4kaHOe|M83PvhuWC%AVZ-myRAK zliA)g(8{*a%09=Qol&&VodIlB38vJt^N6VQGPHJ`h5o+Ec4G7U_#BL+vy10oq|9oB zzZD>|(~fmX#vNj-^IGKi6s|H`bRI)2l5IUN|BC_ed1br0>SkJa0b)DY&lh0Nbl%z& z(|OkHq8^k3f5Pa%^l48_ToN7~65MlSQr*qDny&)&JLo0GjoKoeCn zuP(z(p=t(CsG8tx<#Sc`YgDfaMvGylg#y{2Bihi&JI|+vKTAiqBAmTf<-4SuoAYL? zmtnyOW}jZe2oHyH9uLa5{~)l1=d~fmM|cd7kP8|T6*oP0&ZI;sS4X%^Jl8THi-1V# zW3~?4!Iv3o_W^OcsM$=M$6ueotkDr}^EhPk)NOv>b=fgF+fZAIS`Q3&EEi&hdH}@R zfcyi*WI&wpIdCfj;sqo`N340%22E`^@aN&M)+KUlY_EJM%JnNNPa#|r(fjs10x}i< z)@4suVNG#sTu@pf<0D;DYnE5p&PyFnUNt0574bBZdE-^EXvK>PvYz zv9O$PFkf@oHz>(%9a#2j^x%kFP~Y%aHlyPE#~5M1-2xxS{O*B|f1=_3tmw8pjRQ{X zgKy-zkREgg4$l3qIJ?35mF1}Pe63UtxC`LeA4=s_&WHV}@O?@Vi3h9xT8ZQ$O7cPx zNzbnk$$x)p9s}5&ufYGSMzZg3*#7P>xr-X6Kihi`;Q-~$?(#JpG2J)o){)h*CxtI8);>S3p zBli7>=C5L1pJH4Xs{C2nPiXusJH=$3pJDPZm0t%QFaL<_*8ByfBU&kkmkPC#>#rzX z&`MdnRHBt!EGU&~r3_vw(@K>epk&cXX}nafmF#{)>4jEWjFK!}X5lxn4(757UUbxp z3m>BBrWgO^MGw6=_YsOFz4#nO?AFLsFFEA0O_HXdc}ji^s6YGqi9C%<3g6Ryhq*Al z_z*>MPEGv8awI<7)@A^EQI5nvPz@WZ{Mq%VFbqr>j`;(I&3f@WUX0X>qyB`S=c=E3 z82)m!(a+?+@F2ckWoEi3`y1>0S=Ybe2=cfA-qJZkp`q$fj1Z^R3hfTL|iLXXI~VgP%Zg|5~ZD zT5GCo=j+rLJl`^u8|AtV@1t18H+ny($zUC?VAEkwx8V*V?<3ism7S6uh_Z$BOwPWf zZI<}T)!2A^79!~gcxg8DQ(CKAA>R@uX+4k1FKoH5j>?Of3gLmK^Aj+0$Lax+wv8iMZtWRAh-Xdu>piW;k&rKBTdB6ZN}M-6W?F2SKCqxBErU$1q2ZKUH8lKVARY!khk;lSD34W*_dILv zV&|S5ZOF!5h)GRsd;4!7VF0ZSm8&BFJxEkZUO+t1QtQwP1j7H+zQq>@m01*~gl!T5 zghFN_f3w-D)&)?Z?mj*#5l@gYMGPTELMFxFeio22$f+T!pXgyITxM0O*!d=}Ms1!U zUmJm#4Ssh4;eXaf9tPrO$mtCrK?bewfLMnY*OzPH>lp@_>dAnNqbV3jiNSO)Ad!X{ zH3CSso(OJwI*@pS76p=y8f(ydfs`8T9I1iH9BEMd5<>j*dh1B|6-Zxa+kSAbiIy2U z%O6OgA?qEujKTe2AiE5i#xL^Wn_dvIcJX=$WgAko9Y`c(tdrspkZ40YN`UY`YtY{U z2{AbP6NsChvzRe)`~v`~rJJE0wQ3=ahIVuYQUbeH)9@p0- zB|zr5*tYKgkTOGD=Yd2U9Q*_%#E^sExr`yu*U22xo5KUC;tn-K?A}0f4T)+9geTLQ z@IgQ(8b&}A5aWXa{+nR$ccMP0FeNc>5J|>4DLyRZ6GebKrbJOT>#H1L*#~VP* zhMYYHl55a<3FM$2bWCF0cogszA%n99wXw(;+R*}tb^h_KIwlc^1AVm|G&MFh9+r+M zcC>&Zp;e;iHEL|!G0oO8PG~pso9!2X~J}TJ|>wAeYJxdGMGLLWTLLc zO86X}Lp+X4W`n8kplHnL6Cl}oYtik~`R3xG+u=4|bD730x&}4?A0%Rz zAzzJvjyrA;;`FZj>ZTR%Q7K6X01Pc*32@=`~XH6LAp#2Z=` z2?S9(s>|949M3&!VRr_1SG|f{MQ^Y zjQnbNeKSw*R&LqbdkQjPXlp2hcpI$k=mw-vkD99u0TOLMCIGSE*lHb&n}FmREbn9$ zwQ)c=jtVyzQ4hJ?+(jVA4a)xj$!l!8?7I43Y8i6i4=Z~@LtFQ|fs`5s<6$8Dvp==PQPX2*^9?cH;Or;JywGznes;p7#8@mW z={m$){{%wOhMs!`B-hY$F1{E6hL+U>!vCy8vfWz<|E~)|&e?9P@A+b3iH4drA=4lf zWC&;;5bFU!z5By7GYq$tkl|C+>V6jx{%1uBfu!p}<9srS*C%f<7`hFi7lwZQ4oJDK z##J5yNilTUORi;*aqz>W)sZL>b(x`IzL3eq*O`>adGvUj6_BGL`E7xO8NTF^B zOVd=o8awI;w=)Vd@dmA_KuQfVbGYTk$+pAlBS01?jrEzmX%c{=Rk|1>Kw24RF>g#>OQY1 zgQ8*=5XCO`5|fbj^B7aGBr%Bz?>)P-=bY8={r-H*7e)3=C|Ng9; zwY>J14MN8&$yBNCtSIG5u;NN-1LcaMC{41rwWhTvWIyalF0gu}p+lJ$Q9`oo)?gDz zh>Q6WMBH&*VVg+9(3{|FK9P!2&}919QAwi|C9WkZ%5k;Eb(j50YPY^n32Ycq6erNi zpf;aKMTu;Ztf>wVa*|J%E)0)}Qk0}|Q0oZEbhjNH ziISnD6(n^zMq$p}<0AefT@Z#n|Ajlah2(5foE4#Xz*B(+m&v#~99X+YzMRwG& zOQo%-Ht##ZXr)$krVDFZDZr~5pspEC(U}e(MGz%Ay=#!k>~@Y#tK>tcIhgV=AHxAKOKz|7E^i!bUp<26sFUGnt7bI{le>JLG$$mm?Zq zrALN`Pjq@=^y0Hl=3XUiuTw4O=!0t84pd@Sod&ggQi&*MM4~es7r!D^({}z>QE|*) zWGc4U0_FllTwg&Jv7QGp4?WLDItLATaSlQbY3)(5xY#uO{n(M6Mw}hjq^kcCm=JzE zcWX*(KuR2iBXb3Gp0t3;aaqynB~N|Znd1|M;eoG2ZiccXms#}ES@yGwFAY4$TwS|IPd|(L#RbSkq4_Qv z0i`m?dq-!00_!R2Gosu@e`E|)p|w+WDAEa-Nr&3I^BA`qEy;z?VYx^C?zy657O?xpneu41G-$ejwbw+#+kxYlt_d(K&zztKmLi6xKcG<0ENEAFC6?uFz1b<-+c_=hL9xKG7$}Qyr zR=-N)l=1>y*iIA1s3FN2kY#`P5s=G)D_E`uu;3PJ7GKrVqSLCTJ#kPKZmDouDdwcP{bE+)9vOJB2c}~wd~`~`50e?H zM3K412}Mx@FdsP07P|Y}BZ$9QpK47aBdiL~dZ;?RrOxK#x=uT|jm}8B4?ocv=>JU5 znA=)F$|-iDS^&MintfAkPW96g9dc3&^Jl{9zT?4Cs@J32Vp(CsIvrkhH-y(uRVXqK zJ*K<*6RJj6Znrd7r%tf{s(W|cZnV%|TClfR*ai#7?2%yeD`6`=D$Ld%+C5+u8&;!r zV5rg1bJb0ec?B}BWh&$(`?haHw+r1YAE(PE_6;sv81qYs=$MfcEpd+;9> z6)d|&ZPw4DUT~MU%wFe_4O|97Q7|Zf(f{o{l zXWQ_?t}?oes79UA3()1Us#uZPAM3N$kWZbb$`LfxJLH-9EU*t5F zu}_lnoh|ZZ=r8k&&1-6hhP1)SOXOiW8itK}jIqP~WbLFwtY7WGhEZ?Xc9pibAJAjz zBy1;5W}nn|b|r%V`n_A^_{&@zU&tH+w?3)k-3>*M|JRZVLIdPGd63Kv!CDVyvY9_WFyl+7A{Sd}d@&xCU=Ni`0N zm8(l04mZX@lrBZ9Swz2p1KB0&(yngY+obnRpR-Zjy{meQT{k_=EHoPwwHXahY@gq9rJ4(eCwSz!)PW&n^{D!=d#NFp<^1U6@_LW^tYZPwP!?@BW2~X zeQ#72n#W90BPxsR0wc#s2ZY+zg5R|%nSE^6+k zT7=v*q2}!Sz*cl?Yi0_pkfG;_40P=0rZ0�%7fh%r}3 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 #include "w_alloc.h" -#define MONITOR_MEMORY false +#define MONITOR_MEMORY true #if MONITOR_MEMORY diff --git a/src/interpreter.c b/src/interpreter.c index b6b446b..9c7e19a 100644 --- a/src/interpreter.c +++ b/src/interpreter.c @@ -1228,6 +1228,7 @@ void *execute(list *parsed_code, Scope *scope, W_Type return_type, bool destroy_ * \param stack The stack to store the parsed lines after eval. */ void eval_parsed_lines(list_element *current_block, Scope *scope, list *stack) { + if (DEBUG) printf("Evaluating parsed lines...\n"); //DEBUG while (current_block != NULL) { if (current_block->value == NULL) { current_block = current_block->next; @@ -1450,6 +1451,7 @@ void eval_parsed_lines(list_element *current_block, Scope *scope, list *stack) { exit(1); } W_Var *result_var = (W_Var *)list_pop(result); + if (DEBUG) printf("Creating result word...\n"); //DEBUG char *str = result_var->stringify(result_var); W_Word *result_word = (W_Word *)w_malloc(sizeof(W_Word)); result_word->type = return_type; @@ -1467,12 +1469,7 @@ void eval_parsed_lines(list_element *current_block, Scope *scope, list *stack) { * \param stack The stack to destroy. */ void destroy_stack(list *stack) { - if (DEBUG) { - for (int i = 0; i < list_size(stack); i++) { - printf("%s ", ((W_Word *)list_get(stack, i))->value); - } - printf("\n"); - } + if (DEBUG) printf("Destroying stack...\n"); //DEBUG list_element *current = stack->head; while (current != NULL) { W_Word *word = (W_Word *)current->value; From 003d0f7e28631b84787ffba601ba21d45d5d1aa1 Mon Sep 17 00:00:00 2001 From: OJddJO <95376647+OJddJO@users.noreply.github.com> Date: Mon, 4 Nov 2024 23:07:39 +0100 Subject: [PATCH 3/7] Fix some mem leaks --- bin/test.w | 3 +-- bin/word.exe | Bin 212767 -> 351814 bytes include/list.h | 1 + include/w_alloc.h | 3 +-- src/dict.c | 4 ++-- src/interpreter.c | 17 ++++++++++++---- src/list.c | 24 +++++++++++++++++----- src/parser.c | 2 +- src/scope.c | 2 +- src/w_alloc.c | 8 ++------ src/w_bool.c | 4 ++-- src/w_dict.c | 6 +++--- src/w_float.c | 4 ++-- src/w_function.c | 2 +- src/w_int.c | 4 ++-- src/w_list.c | 12 +++++------ src/w_stdlib.c | 50 +++++++++++++++++++++++----------------------- src/w_str.c | 10 +++++----- 18 files changed, 87 insertions(+), 69 deletions(-) diff --git a/bin/test.w b/bin/test.w index e46c6dd..60bfa9f 100644 --- a/bin/test.w +++ b/bin/test.w @@ -1,9 +1,8 @@ int a assign 0 infloop - if a gequal 5 + if a gequal 1000000000 break endif change a to a plus 1 endinf - print a \ No newline at end of file diff --git a/bin/word.exe b/bin/word.exe index 62110c2102a3ebfbf1834cfea4b23c60cb24cd59..31756cc96236a89c65137b3c38cfcea3772a6fa5 100644 GIT binary patch literal 351814 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�G#;ycUSDu{S%i%ocAN_^4gN3$U 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