From 615e91f991b54974442bbebed2eb8f2a6696e6a0 Mon Sep 17 00:00:00 2001 From: gazhonsepaskwa Date: Thu, 30 Jan 2025 10:18:48 +0100 Subject: [PATCH] parentheses update --- .gitignore | 4 ++- parser | Bin 158696 -> 0 bytes test/ast/ast.c | 47 +++++++++++++-------------------- test/drawio/drawio_print_ast.c | 2 +- test/drawio/drawio_utils.c | 2 +- 5 files changed, 23 insertions(+), 32 deletions(-) delete mode 100755 parser diff --git a/.gitignore b/.gitignore index 15e63ff..652bf94 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ minishell .objs/* -srcs/builtins/test.c +test.c +parser +ast.xml diff --git a/parser b/parser deleted file mode 100755 index a9b72604a53f49abad0c346dd19b68c9d332727d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 158696 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 diff --git a/test/ast/ast.c b/test/ast/ast.c index ef8099e..1716773 100644 --- a/test/ast/ast.c +++ b/test/ast/ast.c @@ -12,35 +12,6 @@ #include "ast.h" -t_ast_n *created_ast_n(t_state st, t_ast_n *prt, t_ast_n *he) -{ - t_ast_n *node; - - node = malloc(sizeof(t_ast_n)); - if (!node) - return (NULL); - node->state = st; - node->parent = prt; - node->head = he; - node->ex_code = 0; - node->cmd = NULL; - node->args = NULL; - node->_stdout = 1; - node->_stdin = 0; - node->redir = _NR; - node->infile = NULL; - node->outfile = NULL; - node->left = NULL; - node->right = NULL; - node->pline = NULL; - if (prt) - node->shlvl = prt->shlvl; - else - node->shlvl = 0; - node->env = NULL; - return (node); -} - void setup_cmd(t_ast_n *node, char *cmd, char *args) { node->cmd = ft_strdup(cmd); @@ -58,10 +29,24 @@ int last_tok_subsh(t_node *lst) return (0); } +skip_parentheses(t_node **lst) +{ + if (!ft_strncmp((*lst)->val, "(", 1)) + { + while ((*lst)->next && ft_strncmp((*lst)->next->val, ")", 1)) + { + if (!ft_strncmp((*lst)->val, "(", 1)) + skip_parentheses(&lst); + *lst = (*lst)->next; + } + } +} + t_node *find_token(char *tok, t_node *lst) { while (lst) { + skip_parentheses(&lst); if (!ft_strncmp(lst->val, tok, ft_strlen(tok))) return (lst); lst = lst->next; @@ -129,6 +114,10 @@ t_ast_n *create_ast_n(t_node *lst, t_ast_n *parent) (void)token; (void)parent; + node->left = NULL; + node->right = NULL; + node->pline = NULL; + /*if (node->state == _PLINE)*/ /*create_pline(node, lst, token);*/ /*else if (node->state == _CMD)*/ diff --git a/test/drawio/drawio_print_ast.c b/test/drawio/drawio_print_ast.c index ef0533e..8acdad7 100644 --- a/test/drawio/drawio_print_ast.c +++ b/test/drawio/drawio_print_ast.c @@ -48,7 +48,7 @@ void draw_pline_part(t_ast_n *node, t_elems *e, int fd, int node_id) i = 0; e->rect.y += e->rect.h + 50; - while (node->pline[i]) + while (node->pline && node->pline[i]) { e->arrow.id_dst = print_ast(node->pline[i++], e, fd); e->arrow.id_src = node_id; diff --git a/test/drawio/drawio_utils.c b/test/drawio/drawio_utils.c index ff43b7c..aed735a 100644 --- a/test/drawio/drawio_utils.c +++ b/test/drawio/drawio_utils.c @@ -38,7 +38,7 @@ char *replace_ampercent(char *src) i = -1; j = 0; amp_count = get_amp_count(src); - out = malloc(ft_strlen(src) + amp_count * 4); + out = malloc(ft_strlen(src) + amp_count * 4 + 1); while (src[++i]) { if (src[i] == '&')