diff --git a/src/utils/ast/ast_assignement.c b/src/utils/ast/ast_assignement.c index 86e892d..036e4d2 100644 --- a/src/utils/ast/ast_assignement.c +++ b/src/utils/ast/ast_assignement.c @@ -14,13 +14,14 @@ struct ast_assignement *ast_get_assignement(struct ast *node) return (struct ast_assignement *)node->data; } -struct ast *ast_create_assignement(char* assignement) +struct ast *ast_create_assignement(char *name, char *value) { struct ast_assignement *assignement_data = malloc(sizeof(struct ast_assignement)); if (!assignement_data) return NULL; - assignement_data->assignement = assignement; + assignement_data->name = name; + assignement_data->value = value; return ast_create(AST_ASSIGNEMENT, assignement_data); } @@ -29,6 +30,7 @@ void ast_free_assignement(struct ast_assignement *assignement_data) { if (assignement_data == NULL) return; - free(assignement_data->assignement); + free(assignement_data->name); + free(assignement_data->value); free(assignement_data); -} +} \ No newline at end of file diff --git a/src/utils/ast/ast_assignement.h b/src/utils/ast/ast_assignement.h index 533086d..5975497 100644 --- a/src/utils/ast/ast_assignement.h +++ b/src/utils/ast/ast_assignement.h @@ -5,13 +5,13 @@ struct ast_assignement { - char *assignement; // assignement of the form 'a=b'. - // needs to be parsed lexer + char *name; + char *value; }; bool ast_is_assignement(struct ast *node); struct ast_assignement *ast_get_assignement(struct ast *node); -struct ast *ast_create_assignement(char *assignement); +struct ast *ast_create_assignement(char *name, char *value); void ast_free_assignement(struct ast_assignement *assignement_data); -#endif /* ! AST_ASSIGNEMENT_H */ +#endif /* ! AST_ASSIGNEMENT_H */ \ No newline at end of file