double quote lexing with inner bquotes
This commit is contained in:
parent
20b9b8f3a6
commit
9df40e8152
4 changed files with 12 additions and 5 deletions
|
|
@ -6,7 +6,7 @@
|
||||||
/* By: ariard <ariard@student.42.fr> +#+ +:+ +#+ */
|
/* By: ariard <ariard@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2017/03/07 11:12:05 by ariard #+# #+# */
|
/* Created: 2017/03/07 11:12:05 by ariard #+# #+# */
|
||||||
/* Updated: 2017/03/22 23:23:44 by jhalford ### ########.fr */
|
/* Updated: 2017/03/22 23:36:11 by jhalford ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
/* By: jhalford <jack@crans.org> +#+ +:+ +#+ */
|
/* By: jhalford <jack@crans.org> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2017/02/09 22:03:48 by jhalford #+# #+# */
|
/* Created: 2017/02/09 22:03:48 by jhalford #+# #+# */
|
||||||
/* Updated: 2017/03/17 21:01:50 by jhalford ### ########.fr */
|
/* Updated: 2017/03/22 23:58:33 by jhalford ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
|
@ -25,7 +25,11 @@ int lexer_bquote(t_list **alst, t_lexer *lexer)
|
||||||
if (get_lexer_stack(*lexer) != BQUOTE)
|
if (get_lexer_stack(*lexer) != BQUOTE)
|
||||||
push(&lexer->stack, lexer->state);
|
push(&lexer->stack, lexer->state);
|
||||||
else
|
else
|
||||||
lexer->state = pop(&lexer->stack) == DQUOTE ? DQUOTE : DEFAULT;
|
{
|
||||||
|
lexer->state = pop(&lexer->stack) &&
|
||||||
|
get_lexer_stack(*lexer) == DQUOTE ? DQUOTE : DEFAULT;
|
||||||
|
DG("going back into state: %i", lexer->state);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (lexer->str[lexer->pos] == '\\' && (back = 1))
|
else if (lexer->str[lexer->pos] == '\\' && (back = 1))
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
/* By: jhalford <jack@crans.org> +#+ +:+ +#+ */
|
/* By: jhalford <jack@crans.org> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2016/11/28 18:36:58 by jhalford #+# #+# */
|
/* Created: 2016/11/28 18:36:58 by jhalford #+# #+# */
|
||||||
/* Updated: 2017/03/17 20:08:02 by jhalford ### ########.fr */
|
/* Updated: 2017/03/22 23:56:49 by jhalford ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
/* By: gwojda <gwojda@student.42.fr> +#+ +:+ +#+ */
|
/* By: gwojda <gwojda@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2017/03/20 14:45:40 by gwojda #+# #+# */
|
/* Created: 2017/03/20 14:45:40 by gwojda #+# #+# */
|
||||||
/* Updated: 2017/03/22 22:02:30 by ariard ### ########.fr */
|
/* Updated: 2017/03/22 23:50:17 by jhalford ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
|
@ -43,6 +43,8 @@ static int handle_instruction(t_list **token, t_btree **ast)
|
||||||
return (ret);
|
return (ret);
|
||||||
if (do_lexer_routine(token, stream) > 0)
|
if (do_lexer_routine(token, stream) > 0)
|
||||||
continue ;
|
continue ;
|
||||||
|
token_print(*token);
|
||||||
|
exit(1);
|
||||||
if ((ret = do_parser_routine(token, ast)) == 1
|
if ((ret = do_parser_routine(token, ast)) == 1
|
||||||
&& SH_NO_INTERACTIVE(data->opts))
|
&& SH_NO_INTERACTIVE(data->opts))
|
||||||
return (ret);
|
return (ret);
|
||||||
|
|
@ -66,6 +68,7 @@ int main(int ac, char **av)
|
||||||
t_btree *ast;
|
t_btree *ast;
|
||||||
|
|
||||||
g_argv = av;
|
g_argv = av;
|
||||||
|
DG("----------------");
|
||||||
setlocale(LC_ALL, "");
|
setlocale(LC_ALL, "");
|
||||||
if (shell_init(ac, av) != 0)
|
if (shell_init(ac, av) != 0)
|
||||||
return (1);
|
return (1);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue