diff --git a/42sh/includes/.parser.h.swn b/42sh/includes/.parser.h.swn new file mode 100644 index 00000000..dbc83314 Binary files /dev/null and b/42sh/includes/.parser.h.swn differ diff --git a/42sh/includes/parser.h b/42sh/includes/parser.h index 8414d270..ddb94fab 100644 --- a/42sh/includes/parser.h +++ b/42sh/includes/parser.h @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/12/01 12:15:54 by jhalford #+# #+# */ -/* Updated: 2017/02/19 18:43:02 by ariard ### ########.fr */ +/* Updated: 2017/02/20 14:57:52 by ariard ### ########.fr */ /* */ /* ************************************************************************** */ @@ -121,6 +121,8 @@ enum e_sym AND_OR_MAJOR, AND_OR_MINOR, END_COMMAND, + CONDITION, + COMPLETE_CONDITION, ALL = 200, }; diff --git a/42sh/sample/if/01_if_easy.sh b/42sh/sample/if/01_if_easy.sh new file mode 100644 index 00000000..4676e8ca --- /dev/null +++ b/42sh/sample/if/01_if_easy.sh @@ -0,0 +1,4 @@ +if ls ; +then + pwd +fi diff --git a/42sh/sample/if/02_if_elif.sh b/42sh/sample/if/02_if_elif.sh new file mode 100644 index 00000000..ae93a37e --- /dev/null +++ b/42sh/sample/if/02_if_elif.sh @@ -0,0 +1,10 @@ +if ls ; +then + pwd +elif ls +then + pwd +elif ls +then + pwd +fi diff --git a/42sh/sample/if/03_if_else.sh b/42sh/sample/if/03_if_else.sh new file mode 100644 index 00000000..a02520e0 --- /dev/null +++ b/42sh/sample/if/03_if_else.sh @@ -0,0 +1,5 @@ +if cat yolo ; +then + pwd +else ls +fi diff --git a/42sh/sample/if/04_if_elseelsif.sh b/42sh/sample/if/04_if_elseelsif.sh new file mode 100644 index 00000000..a52c07e3 --- /dev/null +++ b/42sh/sample/if/04_if_elseelsif.sh @@ -0,0 +1,11 @@ +if cat yolo ; +then + pwd +elif ls +then + pwd +elif pwd +then + ls +else ls +fi diff --git a/42sh/src/parser/.eval_sym.c.swn b/42sh/src/parser/.eval_sym.c.swn new file mode 100644 index 00000000..1835f54b Binary files /dev/null and b/42sh/src/parser/.eval_sym.c.swn differ diff --git a/42sh/src/parser/.produce_sym.c.swn b/42sh/src/parser/.produce_sym.c.swn new file mode 100644 index 00000000..994916b7 Binary files /dev/null and b/42sh/src/parser/.produce_sym.c.swn differ diff --git a/42sh/src/parser/.read_stack.c.swn b/42sh/src/parser/.read_stack.c.swn new file mode 100644 index 00000000..1013cf57 Binary files /dev/null and b/42sh/src/parser/.read_stack.c.swn differ diff --git a/42sh/src/parser/aggregate_sym.c b/42sh/src/parser/aggregate_sym.c index 1b876c02..a9d1494c 100644 --- a/42sh/src/parser/aggregate_sym.c +++ b/42sh/src/parser/aggregate_sym.c @@ -6,7 +6,7 @@ /* By: ariard +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2017/02/09 17:39:18 by ariard #+# #+# */ -/* Updated: 2017/02/19 19:32:24 by ariard ### ########.fr */ +/* Updated: 2017/02/20 16:06:08 by ariard ### ########.fr */ /* */ /* ************************************************************************** */ @@ -20,8 +20,10 @@ t_aggrematch g_aggrematch[] = {TK_ASSIGNEMENT_WORD, CMD_PREFIX,CMD_PREFIX, 0}, {TK_PIPE, CMD_SUPERIOR, SIMPLE_COMMAND, CMD_SUPERIOR}, {TK_FI, ELSE_PART, IF_CLAUSE, TK_IF}, - {TK_FI, COMPOUND_LIST, IF_CLAUSE, TK_IF}, - {TK_FI, CMD_SUPERIOR, IF_CLAUSE, TK_IF}, + {TK_FI, COMPOUND_LIST, IF_CLAUSE, COMPLETE_CONDITION}, + {TK_FI, COMPLETE_CONDITION, IF_CLAUSE, COMPLETE_CONDITION}, + {TK_FI, CONDITION, IF_CLAUSE, COMPLETE_CONDITION}, + {TK_THEN, CONDITION, COMPLETE_CONDITION, CONDITION}, {TK_DONE, CMD_SUPERIOR, DO_GROUP, TK_DO}, {TK_DONE, COMPOUND_LIST, DO_GROUP, TK_DO}, //Esac ? @@ -35,8 +37,10 @@ t_aggrematch g_aggrematch[] = //watch this {SEPARATOR_OP, CMD_SUPERIOR, SEPARATOR, 0}, {SEPARATOR_OP, COMPOUND_LIST, SEPARATOR, 0}, + {SEPARATOR_OP, PIPE_SEMI_SEQUENCE, SEPARATOR, 0}, {SEPARATOR, CMD_SUPERIOR, END_COMMAND, CMD_SUPERIOR}, {SEPARATOR, COMPOUND_LIST, COMPOUND_LIST, COMPOUND_LIST}, + {SEPARATOR, PIPE_SEMI_SEQUENCE, PIPE_SEQUENCE, PIPE_SEMI_SEQUENCE}, {LINEBREAK, SEPARATOR_OP, SEPARATOR, SEPARATOR_OP}, {LINEBREAK, TK_SEMI, SEQUENTIAL_SEP, TK_SEMI}, @@ -64,6 +68,8 @@ t_aggrematch g_aggrematch[] = {NEWLINE_LIST, WORDLIST, SEQUENTIAL_SEP, 0}, {NEWLINE_LIST, TERM, SEPARATOR, 0}, {NEWLINE_LIST, COMPOUND_LIST, SEPARATOR, 0}, + {NEWLINE_LIST, COMPLETE_CONDITION, COMPLETE_CONDITION, COMPLETE_CONDITION}, + {NEWLINE_LIST, CONDITION, CONDITION, CONDITION}, //to check {IO_HERE, TK_IO_NUMBER, IO_REDIRECT, TK_IO_NUMBER}, @@ -94,7 +100,7 @@ t_aggrematch g_aggrematch[] = {REDIRECT_LIST, COMPOUND_COMMAND, COMPOUND_COMMAND, COMPOUND_COMMAND}, {CMD_SUFFIX, CMD_WORD, SIMPLE_COMMAND, CMD_PREFIX}, {CMD_SUFFIX, CMD_NAME, SIMPLE_COMMAND, CMD_NAME}, - + {CMD_SUFFIX, CMD_SUPERIOR, SIMPLE_COMMAND, CMD_SUPERIOR}, //to abstract {CMD_PREFIX, LINEBREAK, SIMPLE_COMMAND, 0}, {CMD_PREFIX, TK_BANG, SIMPLE_COMMAND, 0}, @@ -114,6 +120,7 @@ t_aggrematch g_aggrematch[] = {CMD_NAME, TK_ELSE, CMD_SUPERIOR, 0}, {CMD_NAME, TK_THEN, CMD_SUPERIOR, 0}, {CMD_NAME, COMPOUND_LIST, CMD_SUPERIOR, 0}, + {CMD_NAME, COMPLETE_CONDITION, CMD_SUPERIOR, 0}, {CMD_NAME, TK_PIPE, CMD_SUPERIOR, 0}, {CMD_NAME, PIPE_SEMI_SEQUENCE, CMD_SUPERIOR, 0}, {CMD_NAME, AND_OR_MAJOR, CMD_SUPERIOR, 0}, @@ -129,7 +136,8 @@ t_aggrematch g_aggrematch[] = {LOOP, TK_UNTIL, UNTIL_CLAUSE, TK_UNTIL}, {UNTIL_CLAUSE, ALL, COMPOUND_COMMAND, 0}, {WHILE_CLAUSE, ALL, COMPOUND_COMMAND, 0}, - {ELSE_PART, COMPOUND_LIST, ELSE_PART, TK_ELIF}, +// {ELSE_PART, COMPOUND_LIST, ELSE_PART, TK_ELIF}, +// {ELSE_PART, COMPLETE_CONDITION, IF_CLAUSE, COMPLETE_CONDITION}, {IF_CLAUSE, ALL, COMPOUND_COMMAND, 0}, {PATTERN, TK_PAREN_OPEN, PATTERN_CASE, TK_PAREN_OPEN}, {PATTERN, CASE_LIST, PATTERN_CASE, 0}, @@ -140,7 +148,10 @@ t_aggrematch g_aggrematch[] = {CASE_CLAUSE, ALL, COMPOUND_COMMAND, 0}, {FOR_CLAUSE, ALL, COMPOUND_COMMAND, 0}, {TERM, LINEBREAK, COMPOUND_LIST, LINEBREAK}, - {COMPOUND_LIST, TK_ELSE, ELSE_PART, TK_ELSE}, +// {COMPOUND_LIST, TK_ELSE, ELSE_PART, TK_ELSE}, + {COMPOUND_LIST, TK_IF, CONDITION, TK_IF}, + {COMPOUND_LIST, TK_THEN, CONDITION, TK_THEN}, + {COMPOUND_LIST, COMPLETE_CONDITION, COMPLETE_CONDITION, COMPLETE_CONDITION}, // {COMPOUND_LIST, TK_THEN, ELSE_PART, TK_ELIF}, {COMPOUND_LIST, COMPOUND_LIST, COMPOUND_LIST, COMPOUND_LIST}, {SUBSHELL, ALL, COMPOUND_COMMAND, 0}, @@ -169,6 +180,7 @@ t_aggrematch g_aggrematch[] = {END_COMMAND, TK_ELIF, PIPE_SEQUENCE, 0}, {END_COMMAND, TK_THEN, PIPE_SEQUENCE, 0}, {END_COMMAND, TK_ELSE, PIPE_SEQUENCE, 0}, + {END_COMMAND, COMPLETE_CONDITION, PIPE_SEQUENCE, 0}, {END_COMMAND, COMPOUND_LIST, COMPOUND_LIST, COMPOUND_LIST}, {PIPE_SEQUENCE, TK_WHILE, PIPELINE, 0}, {PIPE_SEQUENCE, TK_BANG, PIPELINE, TK_BANG}, @@ -182,6 +194,7 @@ t_aggrematch g_aggrematch[] = {PIPE_SEQUENCE, TK_THEN, PIPELINE, 0}, {PIPE_SEQUENCE, TK_ELSE, PIPELINE, 0}, {PIPE_SEQUENCE, COMPOUND_LIST, PIPELINE, 0}, + {PIPE_SEQUENCE, COMPLETE_CONDITION, PIPELINE, 0}, {PIPELINE, TK_WHILE, AND_OR, 0}, {PIPELINE, TK_DO, AND_OR, 0}, {PIPELINE, TK_IF, AND_OR, 0}, @@ -192,6 +205,7 @@ t_aggrematch g_aggrematch[] = {PIPELINE, LINEBREAK, AND_OR, 0}, // {PIPELINE, LINEBREAK, AND_OR, AND_OR}, {PIPELINE, SEPARATOR_OP, AND_OR, 0}, + {PIPELINE, COMPLETE_CONDITION, AND_OR, 0}, {PIPELINE, AND_OR_MAJOR, AND_OR, AND_OR_MAJOR}, {AND_OR_MAJOR, AND_OR_MAJOR, AND_OR_MAJOR, AND_OR_MAJOR}, {AND_OR, TK_DO, COMPOUND_LIST, 0}, @@ -201,6 +215,7 @@ t_aggrematch g_aggrematch[] = {AND_OR, TK_THEN, COMPOUND_LIST, 0}, {AND_OR, TK_ELSE, COMPOUND_LIST, 0}, {AND_OR, COMPOUND_LIST, COMPOUND_LIST, 0}, + {AND_OR, COMPLETE_CONDITION, COMPOUND_LIST, 0}, {AND_OR, SEPARATOR_OP, LIST, LIST}, {AND_OR, NEWLINE_LIST, LIST, 0}, {AND_OR, LINEBREAK, LIST, 0}, diff --git a/42sh/src/parser/eval_sym.c b/42sh/src/parser/eval_sym.c index 5b3f5135..a37e7558 100644 --- a/42sh/src/parser/eval_sym.c +++ b/42sh/src/parser/eval_sym.c @@ -6,7 +6,7 @@ /* By: ariard +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2017/02/09 16:26:30 by ariard #+# #+# */ -/* Updated: 2017/02/19 19:31:38 by ariard ### ########.fr */ +/* Updated: 2017/02/20 16:06:15 by ariard ### ########.fr */ /* */ /* ************************************************************************** */ @@ -176,15 +176,21 @@ t_stackmatch g_stackmatch[] = {TK_IF, TK_ELIF}, {TK_IF, TK_THEN}, {TK_IF, COMPOUND_LIST}, + {TK_THEN, CONDITION}, {TK_THEN, COMPOUND_LIST}, - {TK_THEN, CMD_SUPERIOR}, {TK_ELSE, COMPOUND_LIST}, + {TK_ELSE, CONDITION}, + {TK_ELSE, COMPLETE_CONDITION}, {TK_ELIF, COMPOUND_LIST}, + {TK_ELIF, COMPLETE_CONDITION}, + {TK_ELIF, CONDITION}, {TK_FI, ELSE_PART}, {TK_FI, COMPOUND_LIST}, {TK_FI, CMD_SUPERIOR}, {TK_FI, END_COMMAND}, + {TK_FI, CONDITION}, {TK_DO, CMD_SUPERIOR}, + {TK_FI, COMPLETE_CONDITION}, {TK_DO, COMPOUND_LIST}, {TK_DO, NAME}, {TK_DO, SEQUENTIAL_SEP}, @@ -263,13 +269,16 @@ t_stackmatch g_stackmatch[] = {END_COMMAND, TK_ELSE}, {END_COMMAND, LINEBREAK}, {END_COMMAND, COMPOUND_LIST}, + {END_COMMAND, COMPLETE_CONDITION}, {SEPARATOR, CMD_SUPERIOR}, {SEPARATOR, TERM}, {SEPARATOR, COMPOUND_LIST}, + {SEPARATOR, PIPE_SEMI_SEQUENCE}, {SEPARATOR_OP, CMD_SUPERIOR}, {SEPARATOR_OP, LIST}, {SEPARATOR_OP, TERM}, {SEPARATOR_OP, COMPOUND_LIST}, + {SEPARATOR_OP, PIPE_SEMI_SEQUENCE}, {LINEBREAK, TK_SEMI}, {LINEBREAK, SEPARATOR_OP}, {LINEBREAK, TK_PAREN_CLOSE}, @@ -298,6 +307,8 @@ t_stackmatch g_stackmatch[] = {NEWLINE_LIST, TERM}, {NEWLINE_LIST, COMPOUND_LIST}, {NEWLINE_LIST, COMPLETE_COMMANDS}, + {NEWLINE_LIST, COMPLETE_CONDITION}, + {NEWLINE_LIST, CONDITION}, {HERE_END, TK_DLESS}, {HERE_END, TK_DLESSDASH}, {IO_HERE, TK_IO_NUMBER}, @@ -345,6 +356,7 @@ t_stackmatch g_stackmatch[] = {REDIRECT_LIST, COMPOUND_COMMAND}, {CMD_SUFFIX, CMD_WORD}, {CMD_SUFFIX, CMD_NAME}, + {CMD_SUFFIX, CMD_SUPERIOR}, {CMD_PREFIX, LINEBREAK}, {CMD_PREFIX, TK_BANG}, {CMD_PREFIX, SEPARATOR_OP}, @@ -364,6 +376,7 @@ t_stackmatch g_stackmatch[] = {CMD_NAME, TK_THEN}, {CMD_NAME, TK_ELSE}, {CMD_NAME, COMPOUND_LIST}, + {CMD_NAME, COMPLETE_CONDITION}, {CMD_SUPERIOR, TK_WHILE}, {CMD_SUPERIOR, TK_DO}, @@ -372,6 +385,7 @@ t_stackmatch g_stackmatch[] = {CMD_SUPERIOR, TK_THEN}, {CMD_SUPERIOR, TK_ELSE}, {CMD_SUPERIOR, COMPOUND_LIST}, + {CMD_SUPERIOR, COMPLETE_CONDITION}, {CMD_SUPERIOR, LINEBREAK,}, {CMD_SUPERIOR, TK_BANG}, {CMD_SUPERIOR, SEPARATOR_OP}, @@ -387,6 +401,7 @@ t_stackmatch g_stackmatch[] = {SIMPLE_COMMAND, TK_THEN}, {SIMPLE_COMMAND, TK_ELSE}, {SIMPLE_COMMAND, COMPOUND_LIST}, + {SIMPLE_COMMAND, COMPLETE_CONDITION}, {SIMPLE_COMMAND, LINEBREAK}, {SIMPLE_COMMAND, TK_BANG}, {SIMPLE_COMMAND, SEPARATOR_OP}, @@ -399,6 +414,9 @@ t_stackmatch g_stackmatch[] = {DO_GROUP, SEQUENTIAL_SEP}, {LOOP, TK_WHILE}, {LOOP, TK_UNTIL}, + {CONDITION, LINEBREAK}, + {CONDITION, COMPOUND_LIST}, + {COMPLETE_CONDITION, LINEBREAK}, {BRACE_GROUP, LINEBREAK}, {BRACE_GROUP, TK_BANG}, {BRACE_GROUP, SEPARATOR_OP}, @@ -432,7 +450,9 @@ t_stackmatch g_stackmatch[] = {WHILE_CLAUSE, TK_THEN}, {WHILE_CLAUSE, TK_ELSE}, {WHILE_CLAUSE, COMPOUND_LIST}, - {ELSE_PART, COMPOUND_LIST}, + {WHILE_CLAUSE, COMPLETE_CONDITION}, +// {ELSE_PART, COMPOUND_LIST}, +// {ELSE_PART, COMPLETE_CONDITION}, {IF_CLAUSE, LINEBREAK}, {IF_CLAUSE, TK_BANG}, {IF_CLAUSE, SEPARATOR_OP}, @@ -444,6 +464,8 @@ t_stackmatch g_stackmatch[] = {IF_CLAUSE, TK_ELIF}, {IF_CLAUSE, TK_THEN}, {IF_CLAUSE, TK_ELSE}, + {IF_CLAUSE, COMPOUND_LIST}, + {IF_CLAUSE, COMPLETE_COMMAND}, {PATTERN, TK_PAREN_OPEN}, {PATTERN, CASE_LIST}, @@ -478,6 +500,7 @@ t_stackmatch g_stackmatch[] = {COMPOUND_LIST, TK_THEN}, {COMPOUND_LIST, TK_ELSE}, {COMPOUND_LIST, COMPOUND_LIST}, + {COMPOUND_LIST, COMPLETE_CONDITION}, {SUBSHELL, LINEBREAK}, {SUBSHELL, TK_BANG}, {SUBSHELL, SEPARATOR_OP}, @@ -496,6 +519,7 @@ t_stackmatch g_stackmatch[] = {COMPOUND_COMMAND, TK_THEN}, {COMPOUND_COMMAND, TK_ELSE}, {COMPOUND_COMMAND, COMPOUND_LIST}, + {COMPOUND_COMMAND, COMPLETE_CONDITION}, {COMMAND, TK_WHILE}, {COMMAND, LINEBREAK}, {COMMAND, TK_DO}, @@ -504,6 +528,7 @@ t_stackmatch g_stackmatch[] = {COMMAND, TK_THEN}, {COMMAND, TK_ELSE}, {COMMAND, COMPOUND_LIST}, + {COMMAND, COMPLETE_CONDITION}, {COMMAND, TK_BANG}, {COMMAND, SEPARATOR_OP}, {COMMAND, NEWLINE_LIST}, @@ -519,6 +544,7 @@ t_stackmatch g_stackmatch[] = {PIPE_SEQUENCE, TK_THEN}, {PIPE_SEQUENCE, TK_ELSE}, {PIPE_SEQUENCE, COMPOUND_LIST}, + {PIPE_SEQUENCE, COMPLETE_CONDITION}, {PIPE_SEQUENCE, LINEBREAK}, {PIPE_SEQUENCE, TK_BANG}, {PIPE_SEQUENCE, SEPARATOR_OP}, @@ -531,6 +557,7 @@ t_stackmatch g_stackmatch[] = {PIPE_SEMI_SEQUENCE, TK_THEN}, {PIPE_SEMI_SEQUENCE, TK_ELSE}, {PIPE_SEMI_SEQUENCE, COMPOUND_LIST}, + {PIPE_SEMI_SEQUENCE, COMPLETE_CONDITION}, {PIPE_SEMI_SEQUENCE, LINEBREAK}, {PIPE_SEMI_SEQUENCE, TK_BANG}, {PIPE_SEMI_SEQUENCE, SEPARATOR_OP}, @@ -543,6 +570,7 @@ t_stackmatch g_stackmatch[] = {PIPELINE, TK_THEN}, {PIPELINE, TK_ELSE}, {PIPELINE, COMPOUND_LIST}, + {PIPELINE, COMPLETE_CONDITION}, {PIPELINE, LINEBREAK}, {PIPELINE, SEPARATOR_OP}, {PIPELINE, NEWLINE_LIST}, @@ -556,6 +584,7 @@ t_stackmatch g_stackmatch[] = {AND_OR, TK_THEN}, {AND_OR, TK_ELSE}, {AND_OR, COMPOUND_LIST}, + {AND_OR, COMPLETE_CONDITION}, {AND_OR, LINEBREAK}, {AND_OR, SEPARATOR_OP}, {AND_OR, NEWLINE_LIST}, diff --git a/42sh/src/parser/produce_sym.c b/42sh/src/parser/produce_sym.c index f52ff681..fc35aea6 100644 --- a/42sh/src/parser/produce_sym.c +++ b/42sh/src/parser/produce_sym.c @@ -6,7 +6,7 @@ /* By: ariard +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2017/02/09 17:58:34 by ariard #+# #+# */ -/* Updated: 2017/02/19 19:31:40 by ariard ### ########.fr */ +/* Updated: 2017/02/20 15:54:45 by ariard ### ########.fr */ /* */ /* ************************************************************************** */ @@ -25,6 +25,7 @@ t_prodmatch g_prodmatch[] = {TK_N_WORD, TK_CLOBBER, FILENAME}, {TK_N_WORD, CMD_WORD, CMD_SUFFIX}, {TK_N_WORD, CMD_NAME, CMD_SUFFIX}, + {TK_N_WORD, CMD_SUPERIOR, CMD_SUFFIX}, {TK_N_WORD, LINEBREAK, CMD_NAME}, {TK_N_WORD, TK_PIPE, CMD_NAME}, {TK_N_WORD, AND_OR, CMD_NAME}, @@ -36,7 +37,7 @@ t_prodmatch g_prodmatch[] = {TK_N_WORD, TK_ELIF, CMD_NAME}, {TK_N_WORD, TK_ELSE, CMD_NAME}, {TK_N_WORD, COMPOUND_LIST, CMD_NAME}, - + {TK_N_WORD, COMPLETE_CONDITION, CMD_NAME}, {TK_N_WORD, NEWLINE_LIST, CMD_NAME}, {TK_N_WORD, TK_BANG, CMD_NAME}, {TK_N_WORD, PIPE_SEMI_SEQUENCE, CMD_NAME}, @@ -66,9 +67,12 @@ t_prodmatch g_prodmatch[] = {TK_NEWLINE, CMD_SUPERIOR, LINEBREAK}, {TK_NEWLINE, PIPE_SEMI_SEQUENCE, LINEBREAK}, {TK_NEWLINE, COMPOUND_LIST, NEWLINE_LIST}, + {TK_NEWLINE, COMPLETE_CONDITION, NEWLINE_LIST}, + {TK_NEWLINE, CONDITION, NEWLINE_LIST}, {TK_SEMI, CMD_SUPERIOR, SEPARATOR_OP}, {TK_SEMI, TERM, SEPARATOR_OP}, {TK_SEMI, LIST, SEPARATOR_OP}, + {TK_SEMI, PIPE_SEMI_SEQUENCE, SEPARATOR_OP}, {TK_AMP, CMD_SUPERIOR, SEPARATOR_OP}, {TK_AMP, TERM, SEPARATOR_OP}, {TK_AMP, LIST, SEPARATOR_OP}, diff --git a/42sh/src/parser/read_stack.c b/42sh/src/parser/read_stack.c index d5d0c802..56435060 100644 --- a/42sh/src/parser/read_stack.c +++ b/42sh/src/parser/read_stack.c @@ -6,7 +6,7 @@ /* By: ariard +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2017/02/09 15:32:10 by ariard #+# #+# */ -/* Updated: 2017/02/19 19:31:42 by ariard ### ########.fr */ +/* Updated: 2017/02/20 15:04:21 by ariard ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,6 +14,10 @@ char *read_state(t_sym current) { + if (current == CONDITION) + return ("CONDITION"); + if (current == COMPLETE_CONDITION) + return ("COMPLETE_CONDITION"); if (current == TK_ELSE) return ("TK_ELSE"); if (current == TK_FI) diff --git a/42sh/test.sh b/42sh/test.sh deleted file mode 100644 index 36681fe0..00000000 --- a/42sh/test.sh +++ /dev/null @@ -1,4 +0,0 @@ -if cat yolo -then ls -else pwd -fi