From cc57905fa94e2bfe72446489a79e1741e21619f5 Mon Sep 17 00:00:00 2001 From: gazhonsepaskwa Date: Fri, 7 Feb 2025 13:07:45 +0100 Subject: [PATCH] unexpected token --- srcs/parsing/syntax.c | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/srcs/parsing/syntax.c b/srcs/parsing/syntax.c index 88b9099..762294c 100644 --- a/srcs/parsing/syntax.c +++ b/srcs/parsing/syntax.c @@ -25,17 +25,31 @@ int syntax_err_mess(char *token) return (1); } +int unexpected_token(t_node *node) +{ + if (!ft_strncmp(node->val, "%", 1) + || (!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) + ) + return (1); + return (0); +} + int syntax_error(t_node *head) { - // t_node *cpy; + t_node *cpy; if (only_operator(head)) return(syntax_err_mess(head->val)); - // cpy = node; - // while (cpy) - // { - // cpy = cpy->next; - // } + cpy = head; + while (cpy) + { + if (unexpected_token(cpy)) + return (syntax_err_mess(cpy->val)); + cpy = cpy->next; + } return (0); }