VPATH := src
SRC := main.c debug_tools.c init.c signal_handling.c repl.c new_token.c \
- free_token.c new_node.c free_node.c
+ free_token.c new_node.c free_node.c parser.c parse_cmd.c
OBJ_DIR := _obj
OBJ := $(addprefix $(OBJ_DIR)/, $(SRC:%.c=%.o))
/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/06/22 17:14:49 by dkaiser #+# #+# */
-/* Updated: 2024/06/27 18:47:31 by dkaiser ### ########.fr */
+/* Updated: 2024/07/09 11:36:09 by dkaiser ### ########.fr */
/* */
/* ************************************************************************** */
void repl(const char *prompt);
+
+t_list *parse(t_token *tokens);
+t_node *parse_cmd(t_token *tokens);
+
#endif
/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/06/27 11:41:46 by dkaiser #+# #+# */
-/* Updated: 2024/07/08 16:15:21 by dkaiser ### ########.fr */
+/* Updated: 2024/07/09 11:37:11 by dkaiser ### ########.fr */
/* */
/* ************************************************************************** */
free(node);
}
-static void free_assign_node(t_node *node)
-{
- free(node->content.assign.var);
- free(node->content.assign.value);
-}
-
static void free_pipe_node(t_node *node)
{
free_node(node->content.pipe.left);
/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/06/29 15:53:29 by dkaiser #+# #+# */
-/* Updated: 2024/07/08 16:11:07 by dkaiser ### ########.fr */
+/* Updated: 2024/07/09 11:38:12 by dkaiser ### ########.fr */
/* */
/* ************************************************************************** */
t_token *split_at_first(t_token **tokens, int type);
static t_node *parse_statement(t_token *tokens);
-static t_node *parse_cmd(t_token *tokens);
t_list *parse(t_token *tokens)
{
}
}
-static t_node *parse_cmd(t_token *tokens)
-{
- char **args;
- t_assign **assigns;
- t_redirection **redirs;
-
- redirs = collect_redirs(&tokens);
- assigns = collect_assigns(&tokens);
- args = collect_args(&tokens);
- return (new_cmd_node(args, assigns, redirs));
-}
-
t_token *split_at_first(t_token **tokens, int type)
{
t_token *split;