diff options
| author | nass1pro <nass1pro@gmail.com> | 2020-07-14 13:12:55 +0200 |
|---|---|---|
| committer | nass1pro <nass1pro@gmail.com> | 2020-07-14 13:12:55 +0200 |
| commit | 2025376e43a174586f087ff284d1f65798f555b2 (patch) | |
| tree | 7621906fd15b8075a147fe298ead79c4053a2b28 | |
| parent | 29e1af2b65d097e533189db4e7d5e20534c17b35 (diff) | |
| download | minishell-2025376e43a174586f087ff284d1f65798f555b2.tar.gz minishell-2025376e43a174586f087ff284d1f65798f555b2.tar.bz2 minishell-2025376e43a174586f087ff284d1f65798f555b2.zip | |
update lexer
| -rw-r--r-- | src/eval/error.c (renamed from src/error.c) | 6 | ||||
| -rw-r--r-- | src/lexer/lexer.c | 7 | ||||
| -rw-r--r-- | src/lexer/trim.c | 3 | ||||
| -rw-r--r-- | src/parse/parse.c | 10 | ||||
| -rw-r--r-- | src/parse/parse_error.c | 2 | ||||
| -rw-r--r-- | src/utils.c | 2 |
6 files changed, 19 insertions, 11 deletions
diff --git a/src/error.c b/src/eval/error.c index f5848a6..10f5740 100644 --- a/src/error.c +++ b/src/eval/error.c @@ -3,10 +3,10 @@ /* ::: :::::::: */ /* error.c :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */ +/* By: charles <charles@student.42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/06/14 11:02:52 by charles #+# #+# */ -/* Updated: 2020/07/14 09:23:38 by charles ### ########.fr */ +/* Updated: 2020/07/14 11:10:12 by nahaddac ### ########.fr */ /* */ /* ************************************************************************** */ @@ -17,8 +17,6 @@ static t_error g_errors[] = {ERROR_AMBIGUOUS_REDIR, 1, "ambiguous redirect"}, {ERROR_OPEN, 1, NULL}, {ERROR_CMD_NOT_FOUND, 127, "command not found"}, - /* {ERROR_CMD_FOUND_ERROR, 126, NULL}, */ - {ERROR_SYNTAX, 2, "syntax error near unexpected token "}, }; t_error *st_error_get(enum e_error id) diff --git a/src/lexer/lexer.c b/src/lexer/lexer.c index 3bf9dc2..400c161 100644 --- a/src/lexer/lexer.c +++ b/src/lexer/lexer.c @@ -24,14 +24,19 @@ int len_is_not_sep(char *input) int check_input(char *input) { int i; + int op; i = 0; + op = 1; if (input[i] == '(' || input[i] == ')') return (i + 1); if (lexer_sep(input[i])) { - while(input[i] == input[i + 1]) + while(input[i] == input[i + 1] && op < 2) + { i++; + op++; + } i += lexe_space(&input[i + 1]); return (i + 1); } diff --git a/src/lexer/trim.c b/src/lexer/trim.c index 6c435d5..911004c 100644 --- a/src/lexer/trim.c +++ b/src/lexer/trim.c @@ -35,6 +35,9 @@ char *del_quote(char *str) if (str[i] == '\'' || str[i] == '"') break; } + + if(str[i] != '\'' && str[i] != '"') + return str; s = ft_strsubf(str, 1, i - 1); return (s); } diff --git a/src/parse/parse.c b/src/parse/parse.c index b2532ac..5633a23 100644 --- a/src/parse/parse.c +++ b/src/parse/parse.c @@ -6,7 +6,7 @@ /* By: nahaddac <nahaddac@student.42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/06/17 18:09:04 by nahaddac #+# #+# */ -/* Updated: 2020/07/14 10:03:00 by charles ### ########.fr */ +/* Updated: 2020/07/14 11:48:42 by nahaddac ### ########.fr */ /* */ /* ************************************************************************** */ @@ -103,6 +103,7 @@ t_ret *parse_op(t_ftlst *input) return ret_wrap_ast(left_ret->ast, input); tag = ((t_token*)input->data)->tag; + /* les sep */ input = input->next; right_ret = parse_op(input); @@ -135,7 +136,6 @@ t_ret *parse_expr(t_ftlst *input) tmp->ast = new_ast; if (input == NULL) return tmp; - // could reuse parse_redir instead tag = ((t_token*)input->data)->tag; while (tag & TAG_IS_REDIR) @@ -172,8 +172,10 @@ t_ret *parse(t_ftlst *input) return (NULL); ret->ast = NULL; ret->rest = NULL; - /* if((ret->unexpected = error_syntax_simple(input))) */ - /* return (ret); */ + ret->syntax_error = false; + // ret = error_syntax_simple(input, ret); + // if (ret->syntax_error == TRUE) + // return ret; ret = parse_op(input); return (ret); } diff --git a/src/parse/parse_error.c b/src/parse/parse_error.c index 3d988ae..1116a88 100644 --- a/src/parse/parse_error.c +++ b/src/parse/parse_error.c @@ -6,7 +6,7 @@ /* By: nahaddac <nahaddac@student.42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/06/18 15:09:48 by nahaddac #+# #+# */ -/* Updated: 2020/07/14 10:01:43 by charles ### ########.fr */ +/* Updated: 2020/07/14 11:49:48 by nahaddac ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/src/utils.c b/src/utils.c index 7c1f496..4a9ecb8 100644 --- a/src/utils.c +++ b/src/utils.c @@ -6,7 +6,7 @@ /* By: cacharle <cacharle@student.42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/02/28 11:56:31 by cacharle #+# #+# */ -/* Updated: 2020/07/14 10:00:16 by charles ### ########.fr */ +/* Updated: 2020/07/14 10:40:59 by nahaddac ### ########.fr */ /* */ /* ************************************************************************** */ |
