heredoc changes first step
This commit is contained in:
parent
e711ffc927
commit
8528951041
6 changed files with 20 additions and 23 deletions
|
|
@ -10,20 +10,20 @@ int lexer_dless(t_list **alst, t_lexer *lexer)
|
|||
(void)lexer;
|
||||
heredoc_lst = *(t_list**)lexer->heredoc_stack->content;
|
||||
heredoc_tok = heredoc_lst->content;
|
||||
if (!(heredoc_lst->next))
|
||||
{
|
||||
ft_dprintf(2, "{red}%s: parse error near `\\n'{eoc}\n", SHELL_NAME);
|
||||
return (1);
|
||||
}
|
||||
eof_tok = heredoc_lst->next->content;
|
||||
if (!(eof_tok->type == TK_WORD))
|
||||
{
|
||||
ft_dprintf(2, "{red}%s: expected word token after <<{eoc}\n", SHELL_NAME);
|
||||
return (1);
|
||||
}
|
||||
DG("heredoc contains [%s]", heredoc_tok->data);
|
||||
DG("heredoc ends at [%s]", eof_tok->data);
|
||||
DG("input is [%s]", lexer->str + lexer->pos);
|
||||
/* if (!(heredoc_lst->next)) */
|
||||
/* { */
|
||||
/* ft_dprintf(2, "{red}%s: parse error near `\\n'{eoc}\n", SHELL_NAME); */
|
||||
/* return (1); */
|
||||
/* } */
|
||||
/* eof_tok = heredoc_lst->next->content; */
|
||||
/* if (!(eof_tok->type == TK_WORD)) */
|
||||
/* { */
|
||||
/* ft_dprintf(2, "{red}%s: expected word token after <<{eoc}\n", SHELL_NAME); */
|
||||
/* return (1); */
|
||||
/* } */
|
||||
/* DG("heredoc contains [%s]", heredoc_tok->data); */
|
||||
/* DG("heredoc ends at [%s]", eof_tok->data); */
|
||||
/* DG("input is [%s]", lexer->str + lexer->pos); */
|
||||
if (ft_strcmp(eof_tok->data, lexer->str + lexer->pos) == 0)
|
||||
{
|
||||
pop(&lexer->stack);
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
/* By: jhalford <jack@crans.org> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2016/12/03 12:06:53 by jhalford #+# #+# */
|
||||
/* Updated: 2017/03/08 12:10:38 by jhalford ### ########.fr */
|
||||
/* Updated: 2017/03/08 13:27:33 by jhalford ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
|
|
@ -17,7 +17,6 @@ int lexer_less(t_list **alst, t_lexer *lexer)
|
|||
t_token *token;
|
||||
|
||||
token = (*alst)->content;
|
||||
token_append(token, lexer, 0, 0);
|
||||
lexer->pos++;
|
||||
if (lexer->str[lexer->pos] == '&')
|
||||
{
|
||||
|
|
@ -28,11 +27,9 @@ int lexer_less(t_list **alst, t_lexer *lexer)
|
|||
}
|
||||
if (lexer->str[lexer->pos] == '<')
|
||||
{
|
||||
token_free(token, 0);
|
||||
(*alst)->content = token_init();
|
||||
token->type = TK_DLESS;
|
||||
lexer->pos++;
|
||||
push(&lexer->stack, DLESS);
|
||||
lexer->pos++;
|
||||
lexer->state = DEFAULT;
|
||||
ft_lsteadd(&lexer->heredoc_stack, ft_lstnew(alst, sizeof(alst)));
|
||||
return (lexer_lex(&(*alst)->next, lexer));
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
/* By: jhalford <jack@crans.org> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2016/12/03 12:07:30 by jhalford #+# #+# */
|
||||
/* Updated: 2017/03/03 18:57:46 by ariard ### ########.fr */
|
||||
/* Updated: 2017/03/08 13:22:19 by jhalford ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
/* By: jhalford <marvin@42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2016/11/10 15:30:25 by jhalford #+# #+# */
|
||||
/* Updated: 2017/02/20 20:55:35 by ariard ### ########.fr */
|
||||
/* Updated: 2017/03/08 13:21:55 by jhalford ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
/* By: jhalford <jhalford@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2016/11/28 19:26:32 by jhalford #+# #+# */
|
||||
/* Updated: 2017/03/08 13:05:23 by jhalford ### ########.fr */
|
||||
/* Updated: 2017/03/08 13:48:27 by jhalford ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
/* By: jhalford <jhalford@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2016/12/06 18:40:58 by jhalford #+# #+# */
|
||||
/* Updated: 2017/03/08 12:59:55 by jhalford ### ########.fr */
|
||||
/* Updated: 2017/03/08 13:27:47 by jhalford ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue