/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* lexer_default.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/11/28 18:36:21 by jhalford #+# #+# */ /* Updated: 2017/02/03 15:39:45 by ariard ### ########.fr */ /* */ /* ************************************************************************** */ #include "lexer.h" int lexer_default(t_list **alst, char *str) { t_lexstate state; t_token *token; if ((state = get_lexer_state(str))) return (ft_tokenize(alst, str, state)); if (*str == '>') return (ft_tokenize(alst, str, GREAT)); else if (*str == '<') return (ft_tokenize(alst, str, LESS)); else if (*str == '#') return (ft_tokenize(alst, str, COMMENT)); else if (ft_isdigit(*str)) state = NUMBER; else state = WORD; token = (*alst)->content; token->type = TK_N_WORD; return (ft_tokenize(alst, str, state)); }