rectif lexer number multi token

This commit is contained in:
william 2017-03-05 17:18:37 +01:00
parent 0e85867fd8
commit 9bd9130ca6

View file

@ -6,7 +6,7 @@
/* By: jhalford <jack@crans.org> +#+ +:+ +#+ */ /* By: jhalford <jack@crans.org> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2016/12/03 12:06:45 by jhalford #+# #+# */ /* Created: 2016/12/03 12:06:45 by jhalford #+# #+# */
/* Updated: 2017/03/05 16:03:31 by wescande ### ########.fr */ /* Updated: 2017/03/05 17:15:52 by wescande ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -26,14 +26,20 @@ int lexer_number(t_list **alst, t_lexer *lexer)
return (lexer_lex(alst, lexer)); return (lexer_lex(alst, lexer));
} }
else if (ft_isdigit(lexer->str[lexer->pos]) else if (ft_isdigit(lexer->str[lexer->pos])
&& (ft_isdigit(lexer->str[lexer->pos + 1]) && ft_isdigit(lexer->str[lexer->pos + 1]))
|| lexer->str[lexer->pos + 1] == '>'
|| lexer->str[lexer->pos + 1] == '<'))
{ {
token_append(token, lexer, 0, 0); token_append(token, lexer, 0, 0);
lexer->pos++; lexer->pos++;
return (lexer_number(alst, lexer)); return (lexer_number(alst, lexer));
} }
else if (ft_isdigit(lexer->str[lexer->pos])
&& (lexer->str[lexer->pos + 1] == '>'
|| lexer->str[lexer->pos + 1] == '<'))
{
token_append(token, lexer, 0, 0);
lexer->pos++;
return (lexer_lex(&(*alst)->next, lexer));
}
else else
{ {
token->type = TK_WORD; token->type = TK_WORD;
@ -41,8 +47,6 @@ int lexer_number(t_list **alst, t_lexer *lexer)
lexer->pos++; lexer->pos++;
return (lexer_lex(alst, lexer)); return (lexer_lex(alst, lexer));
} }
lexer->state = DEFAULT;
return (lexer_lex(alst, lexer));
} }
/* /*
int lexer_number(t_list **alst, t_lexer *lexer) int lexer_number(t_list **alst, t_lexer *lexer)