From b72b43e5715424f01626f31f74f0c0d83d7bfb24 Mon Sep 17 00:00:00 2001 From: nass1pro Date: Mon, 15 Jun 2020 17:43:03 +0200 Subject: Change name function parse --- src/parse/parse.c | 48 ++++++++++++++++++++---------------------------- 1 file changed, 20 insertions(+), 28 deletions(-) (limited to 'src/parse/parse.c') diff --git a/src/parse/parse.c b/src/parse/parse.c index 87478ac..b9cc514 100755 --- a/src/parse/parse.c +++ b/src/parse/parse.c @@ -30,6 +30,8 @@ t_ret *parse(t_ftlst *input) if (parse_cmd_str_true_false(tag)) { ret->ast = parse_cmd(ret->ast, ret->rest); + if (ret->rest != NULL) + ret->rest = ret->rest->next; } else if (parse_redir_true_false(tag)) { @@ -37,35 +39,25 @@ t_ret *parse(t_ftlst *input) ret->rest = ret->rest->next; if (ret->rest != NULL) ret->ast = parse_redir(ret->ast, ret->rest); - /* printf("%s\n","ici" ); */ - ret->rest = ret->rest->next; - if (ret->rest != NULL) - { - tag = ((t_token *)ret->rest->data)->tag; - if(tag & TAG_IS_STR & TAG_STICK) - ret->ast = parse_redir(ret->ast, ret->rest); - } + tag = ((t_token *)ret->rest->data)->tag; + //while(tag & TAG_IS_STR && tag & TAG_STICK) } - if (ret->rest != NULL) - ret->rest = ret->rest->next; } - - /* while(ret->ast->cmd_argv != NULL) */ - /* { */ - /* printf("%s\n", ((t_token *)ret->ast->cmd_argv->data)->content); */ - /* ret->ast->cmd_argv = ret->ast->cmd_argv->next; */ - /* } */ - /* while(ret->ast->redirs != NULL) */ - /* { */ - /* if (i == 0) */ - /* { */ - /* printf("redir"); */ - /* i++; */ - /* } */ - /* printf("%s\n", ((t_token *)ret->ast->redirs->data)->content); */ - /* ret->ast->redirs = ret->ast->redirs->next; */ - /* } */ - /* ast_destroy(ret->ast); */ - /* ft_lstdestroy(&ret->rest, (void (*)(void*))token_destroy); */ + while(ret->ast->cmd_argv != NULL) + { + printf("%s\n", ((t_token *)ret->ast->cmd_argv->data)->content); + ret->ast->cmd_argv = ret->ast->cmd_argv->next; + } + while(ret->ast->redirs != NULL) + { + if (i == 0) + { + i++; + } + printf("%s\n", ((t_token *)ret->ast->redirs->data)->content); + ret->ast->redirs = ret->ast->redirs->next; + } + ast_destroy(ret->ast); + ft_lstdestroy(&ret->rest, (void (*)(void*))token_destroy); return first; } -- cgit From 6bb9eafa5fe8de5194801ab5ff3bd898a853c9fb Mon Sep 17 00:00:00 2001 From: nass1pro Date: Mon, 15 Jun 2020 17:49:27 +0200 Subject: change name function --- src/parse/parse.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/parse/parse.c') diff --git a/src/parse/parse.c b/src/parse/parse.c index b9cc514..ff8dbc1 100755 --- a/src/parse/parse.c +++ b/src/parse/parse.c @@ -29,16 +29,16 @@ t_ret *parse(t_ftlst *input) tag = ((t_token *)ret->rest->data)->tag; if (parse_cmd_str_true_false(tag)) { - ret->ast = parse_cmd(ret->ast, ret->rest); + ret->ast = push_cmd(ret->ast, ret->rest); if (ret->rest != NULL) ret->rest = ret->rest->next; } else if (parse_redir_true_false(tag)) { - ret->ast = parse_redir(ret->ast, ret->rest); + ret->ast = push_redir(ret->ast, ret->rest); ret->rest = ret->rest->next; if (ret->rest != NULL) - ret->ast = parse_redir(ret->ast, ret->rest); + ret->ast = push_redir(ret->ast, ret->rest); tag = ((t_token *)ret->rest->data)->tag; //while(tag & TAG_IS_STR && tag & TAG_STICK) } -- cgit From 25ba3ac2ccef9ba8295c3975a1681baa033c5ee6 Mon Sep 17 00:00:00 2001 From: nass1pro Date: Mon, 15 Jun 2020 20:05:36 +0200 Subject: Add redir parse --- src/parse/parse.c | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) (limited to 'src/parse/parse.c') diff --git a/src/parse/parse.c b/src/parse/parse.c index ff8dbc1..1129696 100755 --- a/src/parse/parse.c +++ b/src/parse/parse.c @@ -15,7 +15,6 @@ t_ret *parse(t_ftlst *input) t_ret *ret; t_ret *first; enum e_token_tag tag; - int i = 0; if(!(ret = malloc(sizeof(t_ret) * 1))) return(NULL); @@ -37,27 +36,28 @@ t_ret *parse(t_ftlst *input) { ret->ast = push_redir(ret->ast, ret->rest); ret->rest = ret->rest->next; - if (ret->rest != NULL) + while(ret->rest != NULL) + { ret->ast = push_redir(ret->ast, ret->rest); - tag = ((t_token *)ret->rest->data)->tag; - //while(tag & TAG_IS_STR && tag & TAG_STICK) + tag = ((t_token *)ret->rest->data)->tag; + if (tag & TAG_IS_STR && tag & TAG_STICK) + ret->rest = ret->rest->next; + else + break; + } } } - while(ret->ast->cmd_argv != NULL) - { - printf("%s\n", ((t_token *)ret->ast->cmd_argv->data)->content); - ret->ast->cmd_argv = ret->ast->cmd_argv->next; - } - while(ret->ast->redirs != NULL) - { - if (i == 0) - { - i++; - } - printf("%s\n", ((t_token *)ret->ast->redirs->data)->content); - ret->ast->redirs = ret->ast->redirs->next; - } - ast_destroy(ret->ast); - ft_lstdestroy(&ret->rest, (void (*)(void*))token_destroy); + // while(ret->ast->cmd_argv != NULL) + // { + // printf("%s\n", ((t_token *)ret->ast->cmd_argv->data)->content); + // ret->ast->cmd_argv = ret->ast->cmd_argv->next; + // } + // while(ret->ast->redirs != NULL) + // { + // printf("%s\n", ((t_token *)ret->ast->redirs->data)->content); + // ret->ast->redirs = ret->ast->redirs->next; + // } + // ast_destroy(ret->ast); + // ft_lstdestroy(&ret->rest, (void (*)(void*))token_destroy); return first; } -- cgit