From 78dc50a2bce3c6e31405437189e2990d8fc720ac Mon Sep 17 00:00:00 2001 From: Christopher Uhlig Date: Mon, 13 Jan 2025 11:06:54 +0100 Subject: here --- src/repl.c | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) (limited to 'src/repl.c') diff --git a/src/repl.c b/src/repl.c index d590fec..7ff80a8 100644 --- a/src/repl.c +++ b/src/repl.c @@ -6,14 +6,34 @@ /* By: chuhlig +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/06/24 16:07:04 by dkaiser #+# #+# */ -/* Updated: 2024/09/13 16:26:35 by dkaiser ### ########.fr */ +/* Updated: 2025/01/11 16:01:44 by chuhlig ### ########.fr */ /* */ /* ************************************************************************** */ #include "../include/minishell.h" #include "token.h" -void repl(const char *prompt) +t_token *reverse_token_list(t_token *head) +{ + t_token *prev; + t_token *current; + t_token *next; + + prev = NULL; + current = head; + next = NULL; + while (current != NULL) + { + next = current->previous; + current->next = prev; + current->previous = next; + prev = current; + current = next; + } + return (prev); +} + +void repl(const char *prompt, t_env **env) { char *input; t_token *token_list; @@ -29,9 +49,13 @@ void repl(const char *prompt) add_history(input); token_list = NULL; tokenizer(input, &token_list, '\0'); - lines = parse(token_list); + token_list = reverse_token_list(token_list); + lines = parse(token_list, env); if (lines) + { print_ast(lines->content); + eval(lines->content, env); + } free(input); } } -- cgit v1.2.3