diff options
| author | Christopher Uhlig | 2025-01-13 11:06:54 +0100 |
|---|---|---|
| committer | Christopher Uhlig | 2025-01-13 11:06:54 +0100 |
| commit | 78dc50a2bce3c6e31405437189e2990d8fc720ac (patch) | |
| tree | d61d9f0d279e191c1bfb34929908f412cf58c02d /src/parser.c | |
| parent | ae5512ea0d6d8be833ca3a9b39f93239109f45b4 (diff) | |
| download | minishell-78dc50a2bce3c6e31405437189e2990d8fc720ac.tar.gz minishell-78dc50a2bce3c6e31405437189e2990d8fc720ac.zip | |
here
Diffstat (limited to 'src/parser.c')
| -rw-r--r-- | src/parser.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/parser.c b/src/parser.c index 06c1df7..1375954 100644 --- a/src/parser.c +++ b/src/parser.c @@ -3,35 +3,36 @@ /* ::: :::::::: */ /* parser.c :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */ +/* By: chuhlig <chuhlig@student.42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/06/29 15:53:29 by dkaiser #+# #+# */ -/* Updated: 2024/09/17 19:03:48 by dkaiser ### ########.fr */ +/* Updated: 2025/01/11 16:06:54 by chuhlig ### ########.fr */ /* */ /* ************************************************************************** */ #include "libft.h" #include "minishell.h" #include "token.h" +#include "env.h" static t_token *find_token_by_type(t_token *tokens, int type); t_token *split_at_first(t_token **tokens, int type); -static t_node *parse_statement(t_token *tokens); +static t_node *parse_statement(t_token *tokens, t_env **env); -t_list *parse(t_token *tokens) +t_list *parse(t_token *tokens, t_env **env) { t_node *result; if ((*tokens).type == PIPE_TOKEN) result = NULL; else - result = parse_statement(tokens); + result = parse_statement(tokens, env); if (result == NULL) printf("Parsing error.\n"); return (ft_lstnew(result)); } -static t_node *parse_statement(t_token *tokens) +static t_node *parse_statement(t_token *tokens, t_env **env) { t_token *left_side_tokens; @@ -43,12 +44,12 @@ static t_node *parse_statement(t_token *tokens) } else if (tokens != NULL) { - return (new_pipe_node(parse_cmd(left_side_tokens), - parse_statement(tokens))); + return (new_pipe_node(parse_cmd(left_side_tokens, env), + parse_statement(tokens, env))); } else { - return (parse_cmd(left_side_tokens)); + return (parse_cmd(left_side_tokens, env)); } } |
