aboutsummaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2020-06-14 10:36:53 +0200
committerCharles <sircharlesaze@gmail.com>2020-06-14 10:36:53 +0200
commit26ddbd7146f65a2cf100713f422a9ab5b1890620 (patch)
tree76daa703ee5ea4c3eafcbce0f8127ab5c92983ab /src/main.c
parentab1e32c348c649c1c7c8dad5922cfe1c0f11ac5d (diff)
downloadminishell-26ddbd7146f65a2cf100713f422a9ab5b1890620.tar.gz
minishell-26ddbd7146f65a2cf100713f422a9ab5b1890620.tar.bz2
minishell-26ddbd7146f65a2cf100713f422a9ab5b1890620.zip
Changing ast related struct and fixing functions accordingly
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c109
1 files changed, 96 insertions, 13 deletions
diff --git a/src/main.c b/src/main.c
index c426f74..5d3e9d8 100644
--- a/src/main.c
+++ b/src/main.c
@@ -6,7 +6,7 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/02/28 11:45:44 by cacharle #+# #+# */
-/* Updated: 2020/06/13 11:56:27 by charles ### ########.fr */
+/* Updated: 2020/06/14 10:36:06 by charles ### ########.fr */
/* */
/* ************************************************************************** */
@@ -20,20 +20,103 @@
#include "lexer.h"
#include "parser.h"
+int main(int argc, char **argv, char **envp)
+{
+ (void)argc;
+ (void)argv;
+ /* (void)envp; */
+ /* t_path path; */
+ t_env env;
+ /* char *line; */
+ /* int ret; */
+ env = env_from_array(envp);
+ /* path = path_update(NULL, env_search(env, "PATH")); */
+ /* */
+ /* t_ast *ast; */
+ /* t_line line; */
+ /* t_cmd cmd; */
+ /* t_eval_state state; */
+ /* */
+ /* cmd.argv = ft_split("ls -l", ' '); */
+ /* cmd.in = NULL; */
+ /* cmd.out = NULL; */
+ /* cmd.is_append = false; */
+ /* */
+ /* line.left = ast_new(TAG_CMD, &cmd); */
+ /* line.right = NULL; */
+ /* line.sep = SEP_END; */
+ /* ast = ast_new(TAG_LINE, &line); */
+ /* printf("%p\n", ast); */
+ /* printf("%d\n", ast->tag); */
+ /* printf("%p\n", ast->data.line.left); */
+ /* printf("%p\n", ast->data.line.right); */
+ /* printf("%d\n", ast->data.line.left->tag); */
+ /* printf("%p\n", ast->data.line.left->data.cmd.argv); */
+ /* printf("%s\n", ast->data.line.left->data.cmd.argv[0]); */
+ /* printf("%s\n", ast->data.line.left->data.cmd.argv[1]); */
+ /* state.pipe_in[0] = -1; */
+ /* state.pipe_in[1] = -1; */
+ /* state.pipe_out[0] = -1; */
+ /* state.pipe_out[1] = -1; */
+ /* state.path = path; */
+ /* state.env = env; */
+ /* t_io_frame frame; */
+ /* io_frame_init(&frame); */
+ /* printf("ret: %d %s\n", eval(&frame,&state, ast), strerror(errno)); */
+ /* char buf[2048]; */
+ /* printf("%s\n", getcwd(buf, 2048)); */
+ /* builtin_env(NULL, state.env); */
+ /* ast_destroy(ast); */
+ /* while ((ret = ft_next_line(STDIN_FILENO, &line)) == 1) */
+ /* { */
+ /* if (eval(parse(line)) == -1) */
+ /* continue ; // and display error */
+ /* free(line); */
+ /* } */
+ /* free(line); */
+ /* ft_htdestroy(path, free); */
+ /* ms_glob("src#<{(|"); */
+ /* char *j = ms_glob("|)}>#*.c"); */
+ /* printf("%s\n", j); */
+ /* free(j); */
+ t_ftvec *v = ft_vecnew(32);
+ ft_vecpush(v, token_new(TAG_STR, "$TERM$LFS$TERM$TERM."));
+ ft_vecpush(v, token_new(TAG_STR, "$$LFS$TERM$TERM."));
+ ft_vecpush(v, token_new(TAG_STR, "*/*.c$TERM"));
+ ft_vecpush(v, token_new(TAG_STR, "src/*.c include/*.h"));
+ ft_vecpush(v, token_new(TAG_STR, "$A$B"));
+ ft_vecpush(v, token_new(TAG_STR, "\\$TERM"));
+ ft_vecpush(v, token_new(TAG_STR, "$TER\\M"));
+ ft_vecpush(v, token_new(TAG_STR, "\\\\"));
+ ft_vecpush(v, token_new(TAG_STR_SINGLE, "''''$TEST\\TEST"));
+ ft_vecpush(v, token_new(TAG_STR_DOUBLE, ",$TEST,$B,"));
+ ft_vecpush(v, token_new(TAG_STR_DOUBLE | TAG_STICK, "$TEST"));
+ ft_vecpush(v, token_new(TAG_STR_DOUBLE | TAG_STICK, "$TEST"));
+ ft_vecpush(v, token_new(TAG_STR_DOUBLE , "$TEST"));
+ ft_vecpush(v, token_new(TAG_STR_DOUBLE | TAG_STICK, "$TEST"));
+ ft_vecpush(v, token_new(TAG_STR_SINGLE, "$TEST"));
+ char **as = preprocess(v, env);
+ char **tmp = as;
+ while (*as != NULL)
+ puts(*as++);
+ ft_split_destroy(tmp);
+ ft_vecdestroy(env, free);
+ return (0);
+}
/////////////////////////////////////////////////////////////////////////////////////////
// lexer main
/////////////////////////////////////////////////////////////////////////////////////////
- int main(void)
- {
- char *input;
-
- if (!(input = malloc(sizeof(char) * ft_strlen(argv[1]) + 1)))
- return(0);
- ft_strlcpy(input, argv[1], ft_strlen(argv[1]) + 1);
-
- lexer(input);
- exit(0);
- return (0);
- } */
+/* int main(void) */
+/* { */
+/* char *input; */
+/* */
+/* if (!(input = malloc(sizeof(char) * ft_strlen(argv[1]) + 1))) */
+/* return(0); */
+/* ft_strlcpy(input, argv[1], ft_strlen(argv[1]) + 1); */
+/* */
+/* lexer(input); */
+/* exit(0); */
+/* return (0); */
+/* } */