From 060800769b188a3676b65921e442572654483f08 Mon Sep 17 00:00:00 2001 From: Jack Halford Date: Tue, 7 Feb 2017 12:57:46 +0100 Subject: [PATCH] lexer_comment done --- 42sh/Makefile | 2 ++ 42sh/includes/lexer.h | 5 ++++- 42sh/src/lexer/lexer_comment.c | 23 +++++++++++++++++++++++ 42sh/src/lexer/lexer_delim.c | 2 +- 42sh/src/lexer/lexer_great.c | 2 +- 42sh/src/lexer/lexer_newline.c | 2 +- 42sh/src/lexer/lexer_sep.c | 2 +- 7 files changed, 33 insertions(+), 5 deletions(-) create mode 100644 42sh/src/lexer/lexer_comment.c diff --git a/42sh/Makefile b/42sh/Makefile index ad0bbca4..4992fc50 100644 --- a/42sh/Makefile +++ b/42sh/Makefile @@ -138,6 +138,7 @@ lexer/ft_post_tokenize.c\ lexer/ft_tokenize.c\ lexer/get_lexer_state.c\ lexer/lexer_backslash.c\ +lexer/lexer_comment.c\ lexer/lexer_default.c\ lexer/lexer_delim.c\ lexer/lexer_dquote.c\ @@ -145,6 +146,7 @@ lexer/lexer_great.c\ lexer/lexer_greatand.c\ lexer/lexer_less.c\ lexer/lexer_lessand.c\ +lexer/lexer_newline.c\ lexer/lexer_number.c\ lexer/lexer_quote.c\ lexer/lexer_sep.c\ diff --git a/42sh/includes/lexer.h b/42sh/includes/lexer.h index 7f27f77e..5e41aab9 100644 --- a/42sh/includes/lexer.h +++ b/42sh/includes/lexer.h @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/12/01 12:15:50 by jhalford #+# #+# */ -/* Updated: 2017/02/07 12:29:39 by jhalford ### ########.fr */ +/* Updated: 2017/02/07 12:56:46 by jhalford ### ########.fr */ /* */ /* ************************************************************************** */ @@ -36,6 +36,7 @@ typedef long long t_type; # define TK_DQ_WORD (1 << 16) # define TK_COMMAND (1 << 17) # define TK_SUBSHELL (1 << 18) +# define TK_NEWLINE (1 << 19) # define TK_WORD (TK_N_WORD | TK_Q_WORD | TK_DQ_WORD) # define TK_REDIR (0x1 | 0x2 | 0x4 | 0x8 | 0x10 | 0x20) @@ -94,6 +95,7 @@ int ft_is_delim(char c); t_lexstate get_lexer_state(char *str); int lexer_default(t_list **alst, char *str); +int lexer_newline(t_list **alst, char *str); int lexer_delim(t_list **alst, char *str); int lexer_sep(t_list **alst, char *str); int lexer_word(t_list **alst, char *str); @@ -107,5 +109,6 @@ int lexer_dquote(t_list **alst, char *str); int lexer_backslash(t_list **alst, char *str); int lexer_var(t_list **alst, char *str); int lexer_special(t_list **alst, char *str); +int lexer_comment(t_list **alst, char *str); #endif diff --git a/42sh/src/lexer/lexer_comment.c b/42sh/src/lexer/lexer_comment.c new file mode 100644 index 00000000..f744ca44 --- /dev/null +++ b/42sh/src/lexer/lexer_comment.c @@ -0,0 +1,23 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* lexer_comment.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: jhalford +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2017/02/07 12:15:59 by jhalford #+# #+# */ +/* Updated: 2017/02/07 12:56:53 by jhalford ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "lexer.h" + +int lexer_comment(t_list **alst, char *str) +{ + t_token *token; + + token = (*alst)->content; + if (*str == '\n') + return (ft_tokenize(&(*alst)->next, str, NEWLINE)); + return (lexer_comment(alst, str + 1)); +} diff --git a/42sh/src/lexer/lexer_delim.c b/42sh/src/lexer/lexer_delim.c index 8c785ce2..8e27dd19 100644 --- a/42sh/src/lexer/lexer_delim.c +++ b/42sh/src/lexer/lexer_delim.c @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/12/03 11:58:44 by jhalford #+# #+# */ -/* Updated: 2017/02/03 15:40:29 by jhalford ### ########.fr */ +/* Updated: 2017/02/07 12:48:11 by jhalford ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/42sh/src/lexer/lexer_great.c b/42sh/src/lexer/lexer_great.c index 8f0e2ada..da36e903 100644 --- a/42sh/src/lexer/lexer_great.c +++ b/42sh/src/lexer/lexer_great.c @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/12/03 12:06:35 by jhalford #+# #+# */ -/* Updated: 2017/02/06 22:29:32 by jhalford ### ########.fr */ +/* Updated: 2017/02/07 12:45:28 by jhalford ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/42sh/src/lexer/lexer_newline.c b/42sh/src/lexer/lexer_newline.c index 2f0300f6..c563d2eb 100644 --- a/42sh/src/lexer/lexer_newline.c +++ b/42sh/src/lexer/lexer_newline.c @@ -6,7 +6,7 @@ /* By: ariard +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2017/01/23 23:19:46 by ariard #+# #+# */ -/* Updated: 2017/02/07 12:37:17 by jhalford ### ########.fr */ +/* Updated: 2017/02/07 12:54:48 by jhalford ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/42sh/src/lexer/lexer_sep.c b/42sh/src/lexer/lexer_sep.c index ccc4ef59..c9b20e78 100644 --- a/42sh/src/lexer/lexer_sep.c +++ b/42sh/src/lexer/lexer_sep.c @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/11/30 16:29:57 by jhalford #+# #+# */ -/* Updated: 2017/02/03 15:02:07 by jhalford ### ########.fr */ +/* Updated: 2017/02/07 12:53:46 by jhalford ### ########.fr */ /* */ /* ************************************************************************** */