Compare commits

...

5 Commits

Author SHA1 Message Date
Tanguy MAZE
3156bddf27 added start-end check
if start and end are linked, push all the ants through
2019-05-02 14:35:37 +02:00
Mthandazo Ndhlovu
a40b6b00e7 no more leaks on all maps 2019-05-02 13:25:41 +02:00
Mthandazo Ndhlovu
8552cf8a32 semi-final parser 2019-05-02 12:58:28 +02:00
Mthandazo Ndhlovu
4bb3b45781 a bit of code cleaning on the parser 2019-04-30 12:07:28 +02:00
Mthandazo Ndhlovu
ee59b79e75 a bit of code cleaning on the parser 2019-04-30 12:06:58 +02:00
23 changed files with 12916 additions and 87 deletions

BIN
Archive.zip Normal file

Binary file not shown.

BIN
generator Executable file

Binary file not shown.

View File

@@ -6,7 +6,7 @@
/* By: tmaze <tmaze@student.42.fr> +#+ +:+ +#+ */ /* By: tmaze <tmaze@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2019/03/23 17:31:19 by tmaze #+# #+# */ /* Created: 2019/03/23 17:31:19 by tmaze #+# #+# */
/* Updated: 2019/04/29 12:14:34 by mndhlovu ### ########.fr */ /* Updated: 2019/05/02 14:26:31 by tmaze ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -78,6 +78,7 @@ typedef struct s_holder
{ {
int count; int count;
t_temp *data; t_temp *data;
t_syntax *syntax;
} t_holder; } t_holder;
typedef struct s_rdata typedef struct s_rdata
@@ -100,7 +101,7 @@ int lm_validate(t_syntax *synt, t_lmdata *lmdata);
int lm_parser(t_syntax *synt, t_lmdata *ldata int lm_parser(t_syntax *synt, t_lmdata *ldata
, t_holder *holder); , t_holder *holder);
int lm_check_room_before(char **tab, t_syntax *synt); int lm_check_room_before(char **tab, t_syntax *synt);
void lm_clear_unv(t_holder *holder); void lm_clear_unv(t_holder *holder, t_lmdata *ldata);
int lm_add_vertex(t_lmdata *ldata, char *raw, char flag int lm_add_vertex(t_lmdata *ldata, char *raw, char flag
, t_syntax *synt); , t_syntax *synt);
int lm_ext_conn(t_holder *holder, t_lmdata *data int lm_ext_conn(t_holder *holder, t_lmdata *data
@@ -108,13 +109,17 @@ int lm_ext_conn(t_holder *holder, t_lmdata *data
int lm_init_src_dest(int *src, int *dest, t_lmdata *data int lm_init_src_dest(int *src, int *dest, t_lmdata *data
, char *raw); , char *raw);
int lm_find_index(t_lmdata *data, char *str); int lm_find_index(t_lmdata *data, char *str);
void lm_get_cmd_vertices(int count, t_syntax *synt
, t_lmdata *ldata, char *line);
int lm_get_value(char *line); int lm_get_value(char *line);
void lm_get_cmd_vert(int count, t_syntax *synt void lm_get_cmd_vert(int count, t_syntax *synt
, t_lmdata *ldata, char *line); , t_lmdata *ldata, char *line);
void lm_get_vert_link(int count, t_syntax *synt void lm_check_start_vert(int count, t_syntax *synt
, t_lmdata *ldata, t_holder *holder , t_lmdata *ldata, char *line);
, char *line); void lm_check_end_vert(int count, t_syntax *synt
, t_lmdata *ldata, char *line);
void lm_get_vert_link(int count, t_lmdata *ldata
, t_syntax *synt, t_holder *holder, char *line);
int lm_validate_rooms(char *name, char *x, char *y); int lm_validate_rooms(char *name, char *x, char *y);
int lm_adj_parser(t_lmdata *lmdata, t_holder *holder); int lm_adj_parser(t_lmdata *lmdata, t_holder *holder);
void lm_init_data(t_syntax *synt, t_holder *holder void lm_init_data(t_syntax *synt, t_holder *holder
@@ -144,6 +149,7 @@ int get_score(t_lmdata *data, t_ind **ret, int nb_paths);
void print_paths(t_lmdata *data, t_ind **ret); void print_paths(t_lmdata *data, t_ind **ret);
int push_ants(t_lmdata *data, t_ind **paths int push_ants(t_lmdata *data, t_ind **paths
, int nb_paths); , int nb_paths);
void push_ants_end(t_lmdata *data, char *e_name);
void del_map(t_lmdata *data); void del_map(t_lmdata *data);
int add_line_map(t_lmdata *data, char *line); int add_line_map(t_lmdata *data, char *line);

12708
map3

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
4 23
##start ##start
start 0 0 start 0 0
##end ##end

View File

@@ -1,13 +1,63 @@
3 3
1 0 2 1 0 2
##start ##start
#dd
#ddddd
##sjdjdjssjds
##djsjddjs
#sddsds
##start
#dsdsdsdsd
0 2 0 0 2 0
##end ##end
##sjsjsjjds
#sjdsjdsjs
#sjsjdsjsaj
#sjsjss
##start
##end
#sjsjdsjsdh
#sksksdksdsk
#skdkskdsjds
4 2 6 4 2 6
2 4 2 2 4 2
#comment
#comment
#comment
#comment
#comment
3 4 4 3 4 4
#comment
#comment
##nothing
#comming
#asazii
0-1 0-1
#hellow
##42 ecole
##good
0-2 0-2
#comment
#comment
#comment
#comment
#comment
#comment
#comment
#comment
2-3 2-3
##kkkk
#kkklkk
#sdedfdds
#cdkskvkfdkndfvnds
#cbdjvbdj
#wofokdkfsdsd
3-4 3-4
#cooment
#comment
#comment
##starrtt
4-1 4-1
1-2
0-2

BIN
srcs/.lem_in.c.swp Normal file

Binary file not shown.

View File

@@ -6,7 +6,7 @@
/* By: tmaze <tmaze@student.42.fr> +#+ +:+ +#+ */ /* By: tmaze <tmaze@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2019/04/18 09:25:05 by tmaze #+# #+# */ /* Created: 2019/04/18 09:25:05 by tmaze #+# #+# */
/* Updated: 2019/04/21 14:42:08 by tmaze ### ########.fr */ /* Updated: 2019/04/30 07:08:31 by mndhlovu ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */

View File

@@ -6,7 +6,7 @@
/* By: tmaze <tmaze@student.42.fr> +#+ +:+ +#+ */ /* By: tmaze <tmaze@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2019/04/18 09:59:11 by tmaze #+# #+# */ /* Created: 2019/04/18 09:59:11 by tmaze #+# #+# */
/* Updated: 2019/04/26 12:49:36 by mndhlovu ### ########.fr */ /* Updated: 2019/04/30 07:14:04 by mndhlovu ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -109,14 +109,11 @@ t_ind **edmonds_karp(t_lmdata *data, int s_ind, int e_ind)
scores[0] = 0; scores[0] = 0;
nb_paths = 0; nb_paths = 0;
i = 0; i = 0;
ft_printf("data: %p\ndata->nb_nodes: %d\ndata->adj: %p\n\n", data, data->nb_nodes, data->adj);
while (i < data->nb_nodes) while (i < data->nb_nodes)
tab[i++].old_visited = 0; tab[i++].old_visited = 0;
bfs(data, tab, s_ind, e_ind); bfs(data, tab, s_ind, e_ind);
ft_printf("tab[e_ind].parent: %d\n", tab[e_ind].parent);
while (tab[e_ind].parent != -1) while (tab[e_ind].parent != -1)
{ {
ft_printf("new path\n");
nb_paths++; nb_paths++;
update_weights(data, tab, s_ind, e_ind); update_weights(data, tab, s_ind, e_ind);
ret[1] = resolve_paths(data, nb_paths, s_ind, e_ind); ret[1] = resolve_paths(data, nb_paths, s_ind, e_ind);

View File

@@ -6,12 +6,41 @@
/* By: mndhlovu <marvin@42.fr> +#+ +:+ +#+ */ /* By: mndhlovu <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2019/03/25 06:31:05 by mndhlovu #+# #+# */ /* Created: 2019/03/25 06:31:05 by mndhlovu #+# #+# */
/* Updated: 2019/04/29 12:54:07 by tmaze ### ########.fr */ /* Updated: 2019/05/02 14:26:13 by tmaze ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
#include "lem_in.h" #include "lem_in.h"
void lm_test_print(t_lmdata *data)
{
t_node *node;
if (data != NULL)
{
node = data->nodes_data;
while (node)
{
ft_printf("name: %s | x: %d | y: %d | role: %c \n", node->name, node->x, node->y, node->role);
node = node->next;
}
}
}
static int start_end_link(t_lmdata *data, int s_ind, int e_ind)
{
t_ind *it;
it = data->adj[s_ind];
while (it)
{
if (it->index == e_ind)
return (1);
it = it->next;
}
return (0);
}
static int lem_in(t_syntax *synt, t_holder *holder, static int lem_in(t_syntax *synt, t_holder *holder,
t_lmdata *lmdata, t_ind ***ret) t_lmdata *lmdata, t_ind ***ret)
{ {
@@ -23,15 +52,21 @@ static int lem_in(t_syntax *synt, t_holder *holder,
if ((lm_adj_parser(lmdata, holder) == 0)) if ((lm_adj_parser(lmdata, holder) == 0))
return (0); return (0);
print_map(lmdata); print_map(lmdata);
lm_clear_unv(holder); lm_clear_unv(holder, lmdata);
get_nb_paths_max(lmdata, get_node_role(lmdata, 's')->ind if (start_end_link(lmdata, get_node_role(lmdata, 's')->ind
, get_node_role(lmdata, 'e')->ind); , get_node_role(lmdata, 'e')->ind))
if ((*ret = edmonds_karp(lmdata, get_node_role(lmdata, 's')->ind push_ants_end(lmdata, get_node_role(lmdata, 'e')->name);
, get_node_role(lmdata, 'e')->ind)) == NULL) else
return (0); {
if (!push_ants(lmdata, *ret, get_nb_paths(*ret))) get_nb_paths_max(lmdata, get_node_role(lmdata, 's')->ind
return (0); , get_node_role(lmdata, 'e')->ind);
tablst_inddel(*ret); if ((*ret = edmonds_karp(lmdata, get_node_role(lmdata, 's')->ind
, get_node_role(lmdata, 'e')->ind)) == NULL)
return (0);
if (!push_ants(lmdata, *ret, get_nb_paths(*ret)))
return (0);
tablst_inddel(*ret);
}
return (1); return (1);
} }
@@ -55,8 +90,10 @@ int main(int ac, char **av)
if (!(lem_in(&synt, &holder, &ldata, &ret))) if (!(lem_in(&synt, &holder, &ldata, &ret)))
{ {
lm_clean_data(&ldata); lm_clean_data(&ldata);
del_map(&ldata);
return (lm_error_exit()); return (lm_error_exit());
} }
del_map(&ldata);
lm_clean_data(&ldata); lm_clean_data(&ldata);
return (0); return (0);
} }

View File

@@ -6,7 +6,7 @@
/* By: mndhlovu <mndhlovu@student.42.fr> +#+ +:+ +#+ */ /* By: mndhlovu <mndhlovu@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2019/04/22 08:55:30 by mndhlovu #+# #+# */ /* Created: 2019/04/22 08:55:30 by mndhlovu #+# #+# */
/* Updated: 2019/04/29 12:06:41 by mndhlovu ### ########.fr */ /* Updated: 2019/05/02 13:20:38 by mndhlovu ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -39,13 +39,13 @@ int lm_check_forbiden_chars(char *line, int flag)
if (flag == 2 && dash == NULL if (flag == 2 && dash == NULL
&& (hash == NULL || (hash != NULL && line[1] != '#'))) && (hash == NULL || (hash != NULL && line[1] != '#')))
return (1); return (1);
if (flag == 3 && dash != NULL && hash == NULL) if (flag == 3 && (dash != NULL && hash == NULL))
return (1); return (1);
} }
return (0); return (0);
} }
void lm_clear_unv(t_holder *holder) void lm_clear_unv(t_holder *holder, t_lmdata *ldata)
{ {
t_temp *data; t_temp *data;
t_temp *flush; t_temp *flush;
@@ -59,6 +59,7 @@ void lm_clear_unv(t_holder *holder)
flush = NULL; flush = NULL;
} }
holder->data = NULL; holder->data = NULL;
del_map(ldata);
} }
int lm_verify_links(t_holder *data, t_syntax *synt) int lm_verify_links(t_holder *data, t_syntax *synt)
@@ -74,10 +75,12 @@ int lm_verify_cmd(t_syntax *synt, t_holder *holder
if (synt->s_cmd && synt->e_cmd if (synt->s_cmd && synt->e_cmd
&& !synt->e_error && !synt->s_error && !synt->e_error && !synt->s_error
&& !synt->v_error && !synt->v_error
&& synt->s_vert
&& synt->e_vert
&& synt->nb_state && synt->nb_state
&& lm_verify_links(holder, synt) && lm_verify_links(holder, synt)
&& (data->nb_nodes > 0)) && (data->nb_nodes > 0))
return (1); return (1);
lm_clear_unv(holder); lm_clear_unv(holder, data);
return (0); return (0);
} }

View File

@@ -6,7 +6,7 @@
/* By: mndhlovu <marvin@42.fr> +#+ +:+ +#+ */ /* By: mndhlovu <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2019/04/05 06:35:40 by mndhlovu #+# #+# */ /* Created: 2019/04/05 06:35:40 by mndhlovu #+# #+# */
/* Updated: 2019/04/29 12:06:18 by mndhlovu ### ########.fr */ /* Updated: 2019/04/30 07:14:50 by mndhlovu ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */

View File

@@ -6,7 +6,7 @@
/* By: mndhlovu <marvin@42.fr> +#+ +:+ +#+ */ /* By: mndhlovu <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2019/03/29 07:17:06 by mndhlovu #+# #+# */ /* Created: 2019/03/29 07:17:06 by mndhlovu #+# #+# */
/* Updated: 2019/04/29 12:05:52 by mndhlovu ### ########.fr */ /* Updated: 2019/04/30 07:15:04 by mndhlovu ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */

View File

@@ -6,7 +6,7 @@
/* By: tmaze <tmaze@student.42.fr> +#+ +:+ +#+ */ /* By: tmaze <tmaze@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2019/03/23 17:43:34 by tmaze #+# #+# */ /* Created: 2019/03/23 17:43:34 by tmaze #+# #+# */
/* Updated: 2019/04/29 12:08:36 by mndhlovu ### ########.fr */ /* Updated: 2019/05/02 12:52:26 by mndhlovu ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -19,6 +19,56 @@ void lm_initdata(t_lmdata *data)
data->adj = NULL; data->adj = NULL;
} }
void lm_check_start_vert(int count, t_syntax *synt, t_lmdata *ldata, char *line)
{
if ((synt->s_pos < synt->e_pos) && lm_check_forbiden_chars(line, 0))
{
if ((count > synt->s_pos && count < synt->e_pos)
&& (!synt->s_vert))
{
if ((lm_add_vertex(ldata, line, 's', synt)))
synt->s_vert = count;
else
synt->s_error = 1;
}
}
if ((synt->s_pos > synt->e_pos) && lm_check_forbiden_chars(line, 0))
{
if (!synt->s_vert)
{
if ((lm_add_vertex(ldata, line, 's', synt)))
synt->s_vert = count;
else
synt->s_error = 1;
}
}
}
void lm_check_end_vert(int count, t_syntax *synt, t_lmdata *ldata, char *line)
{
if((synt->e_pos < synt->s_pos) && lm_check_forbiden_chars(line, 0))
{
if ((count > synt->e_pos && count < synt->s_pos)
&& (!synt->e_vert))
{
if ((lm_add_vertex(ldata, line, 'e', synt)))
synt->e_vert = count;
else
synt->e_error = 1;
}
}
if ((synt->e_pos > synt->s_pos) && lm_check_forbiden_chars(line, 0))
{
if (!synt->e_vert)
{
if ((lm_add_vertex(ldata, line, 'e', synt)))
synt->e_vert = count;
else
synt->e_error = 1;
}
}
}
int lm_init_src_dest(int *src, int *dest, t_lmdata *data int lm_init_src_dest(int *src, int *dest, t_lmdata *data
, char *raw) , char *raw)
{ {

View File

@@ -6,7 +6,7 @@
/* By: mndhlovu <marvin@42.fr> +#+ +:+ +#+ */ /* By: mndhlovu <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2019/03/25 06:31:37 by mndhlovu #+# #+# */ /* Created: 2019/03/25 06:31:37 by mndhlovu #+# #+# */
/* Updated: 2019/04/29 12:07:09 by mndhlovu ### ########.fr */ /* Updated: 2019/05/02 13:20:36 by mndhlovu ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -78,6 +78,8 @@ int lm_add_vertex(t_lmdata *ldata, char *raw, char flag,
ft_del_words_tables(&tab); ft_del_words_tables(&tab);
return (1); return (1);
} }
ft_del_words_tables(&tab);
free(new);
} }
return (0); return (0);
} }
@@ -122,5 +124,6 @@ int lm_ext_conn(t_holder *holder, t_lmdata *data, char *raw)
(holder->count)++; (holder->count)++;
return (1); return (1);
} }
free(new);
return (0); return (0);
} }

View File

@@ -6,7 +6,7 @@
/* By: mndhlovu <mndhlovu@student.42.fr> +#+ +:+ +#+ */ /* By: mndhlovu <mndhlovu@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2019/04/20 15:24:51 by mndhlovu #+# #+# */ /* Created: 2019/04/20 15:24:51 by mndhlovu #+# #+# */
/* Updated: 2019/04/29 13:07:10 by tmaze ### ########.fr */ /* Updated: 2019/05/02 13:11:43 by mndhlovu ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -59,14 +59,14 @@ static int lm_get_ant_(int counter, t_lmdata *ldata
return (0); return (0);
} }
static int lm_get_vertices(int count, t_syntax *synt static int lm_get_vertices(int count, t_lmdata *data
, t_lmdata *data, t_holder *holder, char *line) , t_syntax *syntax, t_holder *holder, char *line)
{ {
lm_get_cmd_vert(count, synt, data, line); lm_get_cmd_vertices(count, syntax, data, line);
if (!synt->s_error && !synt->e_error) if (!syntax->s_error && !syntax->e_error)
{ {
lm_get_vert_link(count, synt, data, holder, line); lm_get_vert_link(count, data, syntax, holder, line);
if (!synt->v_error && !synt->l_error) if (!syntax->v_error && !syntax->l_error)
return (1); return (1);
} }
return (0); return (0);
@@ -86,7 +86,7 @@ int lm_parser(t_syntax *synt
if (!(lm_get_ant_(index, ldata, synt, raw)) && index == 0) if (!(lm_get_ant_(index, ldata, synt, raw)) && index == 0)
return (0); return (0);
lm_locate_cd(index, synt, raw); lm_locate_cd(index, synt, raw);
if (!(lm_get_vertices(index, synt, ldata, holder, raw))) if (!(lm_get_vertices(index, ldata, synt, holder, raw)))
return (0); return (0);
index++; index++;
} }

View File

@@ -6,7 +6,7 @@
/* By: mndhlovu <mndhlovu@student.42.fr> +#+ +:+ +#+ */ /* By: mndhlovu <mndhlovu@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2019/04/29 11:50:04 by mndhlovu #+# #+# */ /* Created: 2019/04/29 11:50:04 by mndhlovu #+# #+# */
/* Updated: 2019/04/29 12:10:09 by mndhlovu ### ########.fr */ /* Updated: 2019/04/30 07:19:29 by mndhlovu ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */

View File

@@ -6,7 +6,7 @@
/* By: mndhlovu <marvin@42.fr> +#+ +:+ +#+ */ /* By: mndhlovu <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2019/04/04 09:24:45 by mndhlovu #+# #+# */ /* Created: 2019/04/04 09:24:45 by mndhlovu #+# #+# */
/* Updated: 2019/04/29 12:05:40 by mndhlovu ### ########.fr */ /* Updated: 2019/05/02 13:12:06 by mndhlovu ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -34,49 +34,33 @@ int lm_get_value(char *line)
return (0); return (0);
} }
void lm_get_cmd_vert(int count, t_syntax *synt void lm_get_cmd_vertices(int count, t_syntax *synt
, t_lmdata *ldata, char *line) , t_lmdata *ldata, char *line)
{ {
char *tmp; if (count > 0 && line != NULL)
if (synt->s_pos == count - 1)
{ {
tmp = ft_strchr(line, '#'); lm_check_start_vert(count, synt, ldata, line);
if (tmp == NULL && count != synt->e_vert) lm_check_end_vert(count, synt, ldata, line);
{
synt->s_vert = count;
if (!(lm_add_vertex(ldata, line, 's', synt)))
synt->s_error = 1;
}
}
if (synt->e_pos == count - 1)
{
tmp = ft_strchr(line, '#');
if (tmp == NULL && count != synt->s_vert)
{
synt->e_vert = count;
if (!(lm_add_vertex(ldata, line, 'e', synt)))
synt->e_error = 1;
}
} }
} }
void lm_get_vert_link(int count, t_syntax *synt void lm_get_vert_link(int count, t_lmdata *ldata
, t_lmdata *ldata, t_holder *holder, char *line) , t_syntax *syntax, t_holder *holder, char *line)
{ {
if (count > 0 && (count != synt->s_vert && count != synt->e_vert) if (count > 0 && (count != syntax->s_vert
&& (count != synt->s_pos && count != syntax->e_vert)
&& count != synt->e_pos && line != NULL)) && (count != syntax->s_pos
&& count != syntax->e_pos && line != NULL))
{ {
if (lm_check_forbiden_chars(line, 0)) if (lm_check_forbiden_chars(line, 0))
{ {
if (!(lm_add_vertex(ldata, line, 'v', synt))) if (!(lm_add_vertex(ldata, line, 'v', syntax)))
synt->v_error = 1; syntax->v_error = 1;
} }
if (lm_check_forbiden_chars(line, 3)) if (lm_check_forbiden_chars(line, 3))
{ {
if (!(lm_ext_conn(holder, ldata, line))) if (!(lm_ext_conn(holder, ldata, line)))
synt->l_error = 1; syntax->l_error = 1;
} }
} }
} }

View File

@@ -6,7 +6,7 @@
/* By: tmaze <tmaze@student.42.fr> +#+ +:+ +#+ */ /* By: tmaze <tmaze@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2019/03/27 14:56:55 by tmaze #+# #+# */ /* Created: 2019/03/27 14:56:55 by tmaze #+# #+# */
/* Updated: 2019/04/24 09:51:38 by tmaze ### ########.fr */ /* Updated: 2019/04/30 07:19:43 by mndhlovu ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */

View File

@@ -6,7 +6,7 @@
/* By: tmaze <tmaze@student.42.fr> +#+ +:+ +#+ */ /* By: tmaze <tmaze@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2019/04/24 17:35:29 by tmaze #+# #+# */ /* Created: 2019/04/24 17:35:29 by tmaze #+# #+# */
/* Updated: 2019/04/29 13:05:56 by tmaze ### ########.fr */ /* Updated: 2019/05/02 14:34:28 by tmaze ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -37,6 +37,7 @@ void print_map(t_lmdata *data)
it = it->next; it = it->next;
} }
del_map(data); del_map(data);
ft_printf("\n");
} }
int add_line_map(t_lmdata *data, char *line) int add_line_map(t_lmdata *data, char *line)
@@ -59,4 +60,3 @@ int add_line_map(t_lmdata *data, char *line)
} }
return (0); return (0);
} }

View File

@@ -6,7 +6,7 @@
/* By: tmaze <tmaze@student.42.fr> +#+ +:+ +#+ */ /* By: tmaze <tmaze@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2019/04/06 11:37:56 by tmaze #+# #+# */ /* Created: 2019/04/06 11:37:56 by tmaze #+# #+# */
/* Updated: 2019/04/21 16:14:45 by tmaze ### ########.fr */ /* Updated: 2019/04/30 07:05:43 by mndhlovu ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */

View File

@@ -6,7 +6,7 @@
/* By: tmaze <tmaze@student.42.fr> +#+ +:+ +#+ */ /* By: tmaze <tmaze@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2019/04/10 11:23:36 by tmaze #+# #+# */ /* Created: 2019/04/10 11:23:36 by tmaze #+# #+# */
/* Updated: 2019/04/18 19:04:49 by tmaze ### ########.fr */ /* Updated: 2019/05/02 14:33:30 by tmaze ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -69,3 +69,18 @@ t_ind *get_node_path(t_ind *lst, int index)
it = it->next; it = it->next;
return (it); return (it);
} }
void push_ants_end(t_lmdata *data, char *e_name)
{
int i;
i = 1;
while (i <= data->nbants)
{
ft_printf("L%d-%s", i, e_name);
if (i != data->nbants)
ft_putchar(' ');
i++;
}
ft_printf("\n");
}

View File

@@ -6,7 +6,7 @@
/* By: tmaze <tmaze@student.42.fr> +#+ +:+ +#+ */ /* By: tmaze <tmaze@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2019/04/18 18:05:06 by tmaze #+# #+# */ /* Created: 2019/04/18 18:05:06 by tmaze #+# #+# */
/* Updated: 2019/04/21 16:53:11 by tmaze ### ########.fr */ /* Updated: 2019/04/30 07:05:10 by mndhlovu ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */