EOF error add

This commit is contained in:
ariard@student.42.fr 2017-02-21 18:15:21 +01:00
parent d05cec4962
commit 07c2101df4
5 changed files with 23 additions and 32 deletions

View file

@ -1,22 +1,14 @@
 ft_parse.c 42 new sym CMD_NAME  shell_init.c 28 interactive shell settings
 ft_parse.c 34 new sym CMD_NAME
 eval_sym.c 637eval head LINEBREAK && sym CMD_NAME  eval_sym.c 637eval head LINEBREAK && sym CMD_NAME
 eval_sym.c 637eval head LINEBREAK && sym CMD_SUPERIOR  eval_sym.c 637eval head LINEBREAK && sym CMD_SUPERIOR
 build_tree.c 60 func TK : 'TK_WORD' TK : 'TK_WORD'  build_tree.c 60 func TK : 'TK_WORD' TK : 'TK_WORD'
 add_cmd.c 21 add cmd  add_cmd.c 21 add cmd
 ft_parse.c 42 new sym CMD_SUFFIX  ft_parse.c 34 new sym LINEBREAK
 eval_sym.c 637eval head CMD_SUPERIOR && sym CMD_SUFFIX  eval_sym.c 637eval head CMD_SUPERIOR && sym LINEBREAK
 eval_sym.c 637eval head LINEBREAK && sym SIMPLE_COMMAND  eval_sym.c 637eval head CMD_SUPERIOR && sym SEPARATOR_OP
 eval_sym.c 637eval head LINEBREAK && sym COMMAND  eval_sym.c 637eval head CMD_SUPERIOR && sym SEPARATOR
 eval_sym.c 637eval head LINEBREAK && sym PIPE_SEMI_SEQUENCE  eval_sym.c 637eval head LINEBREAK && sym END_COMMAND
 build_tree.c 60 func TK : 'TK_WORD' TK : 'TK_WORD'
 add_cmd.c 21 add cmd
 add_loop.c 23 TEST LOOP
 add_cmd.c 21 add cmd
TK_W
+----+
TK_W
 ft_parse.c 42 new sym LINEBREAK
 eval_sym.c 637eval head PIPE_SEMI_SEQUENCE && sym LINEBREAK
 eval_sym.c 637eval head LINEBREAK && sym PIPE_SEQUENCE  eval_sym.c 637eval head LINEBREAK && sym PIPE_SEQUENCE
 eval_sym.c 637eval head LINEBREAK && sym PIPELINE  eval_sym.c 637eval head LINEBREAK && sym PIPELINE
 eval_sym.c 637eval head LINEBREAK && sym AND_OR  eval_sym.c 637eval head LINEBREAK && sym AND_OR
@ -24,14 +16,6 @@
 eval_sym.c 637eval head LINEBREAK && sym COMPLETE_COMMAND  eval_sym.c 637eval head LINEBREAK && sym COMPLETE_COMMAND
 eval_sym.c 637eval head LINEBREAK && sym COMPLETE_COMMANDS  eval_sym.c 637eval head LINEBREAK && sym COMPLETE_COMMANDS
 eval_sym.c 637eval head NULL && sym PROGRAM  eval_sym.c 637eval head NULL && sym PROGRAM
TK_W  ft_parse.c 34 new sym LINEBREAK
+----+
TK_W
 ft_parse.c 42 new sym LINEBREAK
 eval_sym.c 637eval head PROGRAM && sym LINEBREAK  eval_sym.c 637eval head PROGRAM && sym LINEBREAK
TK_W  ft_exec.c 53 match : TK_WORD and TK_WORD
+----+
TK_W
TK_W
+----+
TK_W

View file

@ -6,7 +6,7 @@
/* By: jhalford <jack@crans.org> +#+ +:+ +#+ */ /* By: jhalford <jack@crans.org> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2016/12/01 12:15:54 by jhalford #+# #+# */ /* Created: 2016/12/01 12:15:54 by jhalford #+# #+# */
/* Updated: 2017/02/21 16:39:07 by ariard ### ########.fr */ /* Updated: 2017/02/21 18:13:10 by ariard ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -187,6 +187,7 @@ int push_stack(t_sym *stack, t_sym new_sym);
int pop_stack(t_sym **stack, t_sym erase_sym); int pop_stack(t_sym **stack, t_sym erase_sym);
int error_syntax(t_list **token); int error_syntax(t_list **token);
int error_EOF(void);
int ft_read_stack(t_sym *stack); int ft_read_stack(t_sym *stack);
char *read_state(t_sym current); char *read_state(t_sym current);

View file

@ -6,7 +6,7 @@
/* By: jhalford <jack@crans.org> +#+ +:+ +#+ */ /* By: jhalford <jack@crans.org> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2016/11/27 20:30:32 by jhalford #+# #+# */ /* Created: 2016/11/27 20:30:32 by jhalford #+# #+# */
/* Updated: 2017/02/20 22:01:33 by jhalford ### ########.fr */ /* Updated: 2017/02/21 18:11:01 by ariard ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -32,7 +32,7 @@ t_execmap g_execmap[] =
{TK_ELSE, &exec_else}, {TK_ELSE, &exec_else},
{TK_UNTIL, &exec_until}, {TK_UNTIL, &exec_until},
{TK_SUBSHELL, &exec_command}, {TK_SUBSHELL, &exec_command},
{TK_COMMAND, &exec_command}, {TK_WORD, &exec_command},
{0, 0}, {0, 0},
}; };

View file

@ -6,7 +6,7 @@
/* By: jhalford <jhalford@student.42.fr> +#+ +:+ +#+ */ /* By: jhalford <jhalford@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2016/12/06 18:40:58 by jhalford #+# #+# */ /* Created: 2016/12/06 18:40:58 by jhalford #+# #+# */
/* Updated: 2017/02/21 16:40:17 by ariard ### ########.fr */ /* Updated: 2017/02/21 18:13:49 by ariard ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -28,8 +28,8 @@ int handle_instruction(int fd)
while (1) while (1)
{ {
str = readline(fd, stack_to_prompt(lexer.stack)); str = readline(fd, stack_to_prompt(lexer.stack));
// if (parser.state == UNDEFINED && !str) if (parser.state == UNDEFINED && !str)
// return ((int)ft_putstr_fd("syntax error near unexpected EOF", 2)); return (error_EOF());
ft_strappend(&lexer.str, str); ft_strappend(&lexer.str, str);
if (get_lexer_stack(lexer) == BACKSLASH) if (get_lexer_stack(lexer) == BACKSLASH)
pop(&lexer.stack); pop(&lexer.stack);

View file

@ -6,7 +6,7 @@
/* By: ariard <ariard@student.42.fr> +#+ +:+ +#+ */ /* By: ariard <ariard@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2017/02/09 20:15:35 by ariard #+# #+# */ /* Created: 2017/02/09 20:15:35 by ariard #+# #+# */
/* Updated: 2017/02/19 17:06:08 by ariard ### ########.fr */ /* Updated: 2017/02/21 18:13:47 by ariard ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -70,3 +70,9 @@ int error_syntax(t_list **lst)
ft_putstr_fd("grammar error, notify ariard", 2); ft_putstr_fd("grammar error, notify ariard", 2);
return (1); return (1);
} }
int error_EOF(void)
{
ft_putstr_fd("syntax error near unexpected EOF", 2);
return (1);
}