From 134e5ca4fe0a1051fb7946874953608894959a13 Mon Sep 17 00:00:00 2001 From: nass1pro Date: Fri, 17 Jul 2020 10:36:50 +0200 Subject: lexer OK, Added escape handling --- src/lexer/lexer.c | 7 +++---- src/lexer/trim.c | 13 +++++-------- 2 files changed, 8 insertions(+), 12 deletions(-) (limited to 'src/lexer') diff --git a/src/lexer/lexer.c b/src/lexer/lexer.c index 7bacb9f..32b9eeb 100644 --- a/src/lexer/lexer.c +++ b/src/lexer/lexer.c @@ -6,7 +6,7 @@ /* By: nahaddac +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/07/16 08:18:25 by nahaddac #+# #+# */ -/* Updated: 2020/07/16 11:39:11 by nahaddac ### ########.fr */ +/* Updated: 2020/07/17 13:06:17 by nahaddac ### ########.fr */ /* */ /* ************************************************************************** */ @@ -24,6 +24,7 @@ int len_is_not_sep(char *input) i +=2; if (input[i] == '\\') i += len_is_not_sep(&input[i]); + } if (lexer_sep(input[i])) return(i); @@ -47,9 +48,7 @@ int check_input(char *input) i = 0; op = 1; if (input[i] == '\\' && lexer_sep(input[i + 1])) - { i += 2; - } if (input[i] == '(' || input[i] == ')') return (i + 1); if (lexer_sep(input[i])) @@ -173,6 +172,6 @@ t_ftlst *lexer(char *input) return (NULL); lst = NULL; lst = create_token_list(input, &lst); - //lst = lexe_trim_out(lst); + lst = lexe_trim_out(lst); return (lst); } diff --git a/src/lexer/trim.c b/src/lexer/trim.c index 710dc14..8160ca6 100644 --- a/src/lexer/trim.c +++ b/src/lexer/trim.c @@ -6,7 +6,7 @@ /* By: nahaddac +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/07/16 08:18:36 by nahaddac #+# #+# */ -/* Updated: 2020/07/16 10:28:57 by nahaddac ### ########.fr */ +/* Updated: 2020/07/17 10:18:51 by nahaddac ### ########.fr */ /* */ /* ************************************************************************** */ @@ -19,16 +19,13 @@ char *del_space(t_token *tk) char *s; i = 0; - while(tk->content[++i] != '\0') + while(tk->content[i] != '\0') { - if(tk->content[i] == '\\' && tk->content[i + 1] == ' ') - { - i += 2; - if (tk->content[i] == '\0') - tk->tag = tk->tag | TAG_STICK; - } + if(tk->content[i] == '\\') + return tk->content; if(tk->content[i] == ' ') break; + i++; } s = ft_strsubf(tk->content, 0, i); return(s); -- cgit