From f3bf429c07169aaadb66148ddb286693db1a5fac Mon Sep 17 00:00:00 2001 From: gazhonsepaskwa Date: Tue, 18 Feb 2025 13:52:09 +0100 Subject: [PATCH] syntax --- srcs/parsing/syntax/syntax.c | 7 ++++++- srcs/parsing/syntax/syntax_utils.c | 4 +--- test | 1 + 3 files changed, 8 insertions(+), 4 deletions(-) create mode 100644 test diff --git a/srcs/parsing/syntax/syntax.c b/srcs/parsing/syntax/syntax.c index d6388b0..3197f80 100644 --- a/srcs/parsing/syntax/syntax.c +++ b/srcs/parsing/syntax/syntax.c @@ -25,7 +25,12 @@ static int parenthesis_error(t_node *cpy) && !ft_strncmp(cpy->next->val, ")", 1)) return (syntax_err_mess(cpy->next->val, 0)); if (cpy->next && !ft_strncmp(cpy->next->val, "(", 1) - && !is_aop_operator(cpy) && ft_strncmp(cpy->next->val, "(", 1)) + && !is_aop_operator(cpy)) + return (syntax_err_mess(cpy->next->val, 0)); + if (!ft_strncmp(cpy->val, "(", 1) && is_aop_operator(cpy->next)) + return (syntax_err_mess(cpy->next->val, 0)); + if (!ft_strncmp(cpy->val, ")", 1) && cpy->next + && !is_aop_operator(cpy->next) && !is_redir(cpy->next)) return (syntax_err_mess(cpy->next->val, 0)); return (0); } diff --git a/srcs/parsing/syntax/syntax_utils.c b/srcs/parsing/syntax/syntax_utils.c index 91b402a..6864517 100644 --- a/srcs/parsing/syntax/syntax_utils.c +++ b/srcs/parsing/syntax/syntax_utils.c @@ -25,9 +25,7 @@ int is_aop_operator(t_node *node) int unexpected_token(t_node *node) { if ((!ft_strncmp(node->val, "&", 1) && ft_strncmp(node->val, "&&", 2)) - || !ft_strncmp(node->val, ";", 1) || !ft_strncmp(node->val, "[", 1) - || !ft_strncmp(node->val, "]", 1) || !ft_strncmp(node->val, "{", 1) - || !ft_strncmp(node->val, "}", 1)) + || !ft_strncmp(node->val, ";", 1)) return (1); return (0); } diff --git a/test b/test new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/test @@ -0,0 +1 @@ +