From 3d26c0a897245802351b057cd936ad6f47e156c3 Mon Sep 17 00:00:00 2001 From: "william.valenduc" Date: Thu, 29 Jan 2026 11:40:55 +0000 Subject: [PATCH] fix(ast)!: assignment typo --- src/parser/grammar_basic.c | 2 +- src/utils/ast/ast.h | 1 + src/utils/ast/ast_assignement.c | 36 --------------------------------- src/utils/ast/ast_assignement.h | 17 ---------------- src/utils/ast/ast_assignment.c | 36 +++++++++++++++++++++++++++++++++ src/utils/ast/ast_assignment.h | 17 ++++++++++++++++ src/utils/ast/ast_base.h | 2 +- src/utils/ast/ast_command.c | 4 ++-- src/utils/ast/ast_command.h | 4 ++-- 9 files changed, 60 insertions(+), 59 deletions(-) delete mode 100644 src/utils/ast/ast_assignement.c delete mode 100644 src/utils/ast/ast_assignement.h create mode 100644 src/utils/ast/ast_assignment.c create mode 100644 src/utils/ast/ast_assignment.h diff --git a/src/parser/grammar_basic.c b/src/parser/grammar_basic.c index 9102593..9621d31 100644 --- a/src/parser/grammar_basic.c +++ b/src/parser/grammar_basic.c @@ -261,7 +261,7 @@ struct ast *parse_simple_command(struct lexer_context *ctx) } // Result - // TODO handle assignements + // TODO handle assignments struct ast *result = ast_create_command(command_elements, redirections); if (result == NULL) { diff --git a/src/utils/ast/ast.h b/src/utils/ast/ast.h index 3964968..9827d8d 100644 --- a/src/utils/ast/ast.h +++ b/src/utils/ast/ast.h @@ -2,6 +2,7 @@ #define AST_H #include "ast_and_or.h" +#include "ast_assignment.h" #include "ast_base.h" #include "ast_command.h" #include "ast_end.h" diff --git a/src/utils/ast/ast_assignement.c b/src/utils/ast/ast_assignement.c deleted file mode 100644 index 036e4d2..0000000 --- a/src/utils/ast/ast_assignement.c +++ /dev/null @@ -1,36 +0,0 @@ -#include "ast_assignement.h" - -#include - -bool ast_is_assignement(struct ast *node) -{ - return node != NULL && node->type == AST_ASSIGNEMENT; -} - -struct ast_assignement *ast_get_assignement(struct ast *node) -{ - if (node == NULL || node->type != AST_ASSIGNEMENT) - return NULL; - return (struct ast_assignement *)node->data; -} - -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->name = name; - assignement_data->value = value; - - return ast_create(AST_ASSIGNEMENT, assignement_data); -} - -void ast_free_assignement(struct ast_assignement *assignement_data) -{ - if (assignement_data == NULL) - return; - 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 deleted file mode 100644 index 5975497..0000000 --- a/src/utils/ast/ast_assignement.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef AST_ASSIGNEMENT_H -#define AST_ASSIGNEMENT_H - -#include "ast_base.h" - -struct ast_assignement -{ - 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 *name, char *value); -void ast_free_assignement(struct ast_assignement *assignement_data); - -#endif /* ! AST_ASSIGNEMENT_H */ \ No newline at end of file diff --git a/src/utils/ast/ast_assignment.c b/src/utils/ast/ast_assignment.c new file mode 100644 index 0000000..a2564c2 --- /dev/null +++ b/src/utils/ast/ast_assignment.c @@ -0,0 +1,36 @@ +#include "ast_assignment.h" + +#include + +bool ast_is_assignment(struct ast *node) +{ + return node != NULL && node->type == AST_ASSIGNMENT; +} + +struct ast_assignment *ast_get_assignment(struct ast *node) +{ + if (node == NULL || node->type != AST_ASSIGNMENT) + return NULL; + return (struct ast_assignment *)node->data; +} + +struct ast *ast_create_assignment(char *name, char *value) +{ + struct ast_assignment *assignment_data = malloc(sizeof(struct ast_assignment)); + if (!assignment_data) + return NULL; + + assignment_data->name = name; + assignment_data->value = value; + + return ast_create(AST_ASSIGNMENT, assignment_data); +} + +void ast_free_assignment(struct ast_assignment *assignment_data) +{ + if (assignment_data == NULL) + return; + free(assignment_data->name); + free(assignment_data->value); + free(assignment_data); +} \ No newline at end of file diff --git a/src/utils/ast/ast_assignment.h b/src/utils/ast/ast_assignment.h new file mode 100644 index 0000000..c958c2d --- /dev/null +++ b/src/utils/ast/ast_assignment.h @@ -0,0 +1,17 @@ +#ifndef AST_ASSIGNMENT_H +#define AST_ASSIGNMENT_H + +#include "ast_base.h" + +struct ast_assignment +{ + char *name; + char *value; +}; + +bool ast_is_assignment(struct ast *node); +struct ast_assignment *ast_get_assignment(struct ast *node); +struct ast *ast_create_assignment(char *name, char *value); +void ast_free_assignment(struct ast_assignment *assignment_data); + +#endif /* ! AST_ASSIGNMENT_H */ \ No newline at end of file diff --git a/src/utils/ast/ast_base.h b/src/utils/ast/ast_base.h index f04014d..ae99a39 100644 --- a/src/utils/ast/ast_base.h +++ b/src/utils/ast/ast_base.h @@ -16,7 +16,7 @@ enum ast_type AST_WORD, AST_PIPE, AST_NEG, - AST_ASSIGNEMENT + AST_ASSIGNMENT }; struct ast diff --git a/src/utils/ast/ast_command.c b/src/utils/ast/ast_command.c index affe45e..d7e148d 100644 --- a/src/utils/ast/ast_command.c +++ b/src/utils/ast/ast_command.c @@ -6,7 +6,7 @@ #include "../lists/lists.h" struct ast *ast_create_command(struct list *command, - struct list *redirections, struct ast_list *assignements) + struct list *redirections, struct ast_list *assignments) { struct ast_command *command_data = malloc(sizeof(struct ast_command)); if (!command_data) @@ -36,6 +36,6 @@ void ast_free_command(struct ast_command *command_data) return; list_deep_destroy(command_data->command); ast_list_deep_destroy(command_data->redirections); - ast_list_deep_destroy(command_data->assignements); + ast_list_deep_destroy(command_data->assignments); free(command_data); } diff --git a/src/utils/ast/ast_command.h b/src/utils/ast/ast_command.h index 0641f1d..9322ac7 100644 --- a/src/utils/ast/ast_command.h +++ b/src/utils/ast/ast_command.h @@ -8,7 +8,7 @@ struct ast_command { struct list *command; // A list of words (char*) struct ast_list *redirections; // A list of ASTs, all ast_redir - struct ast_list *assignements; // A list of ASTs, all ast_assignement + struct ast_list *assignments; // A list of ASTs, all ast_assignment }; /** @@ -26,7 +26,7 @@ struct ast_command *ast_get_command(struct ast *node); * Creates a new AST node representing a command. */ struct ast *ast_create_command(struct list *command, - struct list *redirections, struct ast_list *assignements); + struct list *redirections, struct ast_list *assignments); /* * @brief: frees the given ast_command and sets the pointer to NULL.