]> git.dkaiser.de - 42/minishell.git/commitdiff
Create basic structure for ast evaluation
authorDominik Kaiser <dkaiser@2-D-2.42heilbronn.de>
Mon, 5 Aug 2024 11:35:51 +0000 (13:35 +0200)
committerDominik Kaiser <dkaiser@2-D-2.42heilbronn.de>
Mon, 5 Aug 2024 11:35:51 +0000 (13:35 +0200)
src/interpreter.c [new file with mode: 0644]

diff --git a/src/interpreter.c b/src/interpreter.c
new file mode 100644 (file)
index 0000000..2a09e6d
--- /dev/null
@@ -0,0 +1,39 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   interpreter.c                                      :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: dkaiser <dkaiser@student.42heilbronn.de    +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2024/08/05 13:15:24 by dkaiser           #+#    #+#             */
+/*   Updated: 2024/08/05 13:33:16 by dkaiser          ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+#include "minishell.h"
+
+static int     eval_pipe(t_pipe *pipe);
+static int     eval_cmd(t_cmd *cmd);
+
+int    eval(t_node *node)
+{
+       if (node->type == PIPE_NODE)
+               return (eval_pipe(&node->content.pipe));
+       else if (node->type == CMD_NODE)
+               return (eval_cmd(&node->content.cmd));
+       else
+       {
+               panic(UNREACHABLE);
+               return (-1);
+       }
+}
+
+static int     eval_pipe(t_pipe *pipe)
+{
+       return (0);
+}
+
+static int     eval_cmd(t_cmd *cmd)
+{
+       return (0);
+}