From b284ef3a4f189dcaa9afffda12305c3e4aca13d1 Mon Sep 17 00:00:00 2001 From: Antoine Riard Date: Thu, 9 Mar 2017 01:43:09 +0100 Subject: [PATCH] correction error grammar --- 42sh/src/parser/aggregate_sym.c | 10 +++++----- 42sh/src/parser/eval_sym.c | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/42sh/src/parser/aggregate_sym.c b/42sh/src/parser/aggregate_sym.c index a91f6a8c..3d4add4a 100644 --- a/42sh/src/parser/aggregate_sym.c +++ b/42sh/src/parser/aggregate_sym.c @@ -257,7 +257,7 @@ t_aggrematch g_aggrematch[] = {END_COMMAND, COMPLETE_CONDITION, PIPE_SEQUENCE, 0}, {END_COMMAND, COMPOUND_LIST, COMPOUND_LIST, COMPOUND_LIST}, {END_COMMAND, CASE_LIST_NS, CASE_LIST_NS, CASE_LIST_NS}, - {PIPE_SEMI_SEQUENCE, SEQUENCE, PIPE_SEMI_SEQUENCE, PIPE_SEMI_SEQUENCE}, + {PIPE_SEMI_SEQUENCE, SEQUENCE, PIPE_SEMI_SEQUENCE, SEQUENCE}, {PIPE_SEQUENCE, TK_WHILE, PIPELINE, 0}, {PIPE_SEQUENCE, TK_UNTIL, PIPELINE, 0}, {PIPE_SEQUENCE, TK_BANG, PIPELINE, TK_BANG}, @@ -336,21 +336,21 @@ int aggregate_sym(t_list **stack, t_sym *new_sym, t_parstate *state) return (1); i = 0; head = (*stack)->content; -// DG("aggregate head %s && sym %s", -// read_state(*head), read_state(*new_sym)); + DG("aggregate head %s && sym %s", + read_state(*head), read_state(*new_sym)); while (g_aggrematch[i].top) { if (*new_sym == g_aggrematch[i].top && MATCH_STACK(*head, g_aggrematch[i].under)) { -// DG("MATCH : %s", read_state(g_aggrematch[i].new_sym)); + DG("MATCH : %s", read_state(g_aggrematch[i].new_sym)); *new_sym = g_aggrematch[i].new_sym; if (g_aggrematch[i].erase_sym) { pop_stack(stack, g_aggrematch[i].erase_sym); head = (*stack)->content; -// DG("stack after pop: %s", read_state(*head)); + DG("stack after pop: %s", read_state(*head)); } if (eval_sym(stack, *new_sym)) { diff --git a/42sh/src/parser/eval_sym.c b/42sh/src/parser/eval_sym.c index 5919b135..9d90a741 100644 --- a/42sh/src/parser/eval_sym.c +++ b/42sh/src/parser/eval_sym.c @@ -490,7 +490,6 @@ t_stackmatch g_stackmatch[] = {TK_PAREN_CLOSE, TK_AND_IF}, {TK_PAREN_CLOSE, TK_OR_IF}, {TK_PAREN_CLOSE, TK_PIPE}, - {TK_PAREN_CLOSE, TK_PAREN_CLOSE}, {TK_PAREN_CLOSE, COMPLETE_COMMANDS}, {TK_PAREN_CLOSE, CMD_SUPERIOR}, {TK_PAREN_CLOSE, PIPE_SEMI_SEQUENCE}, @@ -1038,6 +1037,7 @@ t_stackmatch g_stackmatch[] = {PIPE_SEMI_SEQUENCE, SEPARATOR_OP}, {PIPE_SEMI_SEQUENCE, NEWLINE_LIST}, {PIPE_SEMI_SEQUENCE, AND_OR_MAJOR}, + {PIPE_SEMI_SEQUENCE, SEQUENCE}, {SEQUENCE, PIPE_SEMI_SEQUENCE}, {SEQUENCE, TK_WHILE}, {SEQUENCE, TK_UNTIL}, @@ -1124,7 +1124,7 @@ int eval_sym(t_list **stack, t_sym new_sym) if (!*stack) return (1); head = (*stack)->content; -// DG("eval head %s && sym %s", read_state(*head), read_state(new_sym)); + DG("eval head %s && sym %s", read_state(*head), read_state(new_sym)); i = 0; while (g_stackmatch[i].top) {