From 9a87ad709749c6b5e8959425cf25e7ad0d821479 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl?= Date: Thu, 28 Mar 2024 15:25:38 +0100 Subject: [PATCH] Y a exam desoler bb pas le temps de te mettre un vrai commit jtm --- Makefile | 11 +- includes/minishell.h | 32 +++++ includes/type_rust.h | 38 ++++++ libft/get_next_line.c | 78 ++++++++++++ libft/get_next_line.h | 33 +++++ libft/get_next_line_utils.c | 119 ++++++++++++++++++ libft/main.c | 20 +++ minishell | Bin 0 -> 19976 bytes other/pipex/include/app/main.h | 6 +- rust/parser/src/adapt_in_c/includes/enum.h | 31 +++++ .../src/adapt_in_c/includes/rust_type.h | 33 +++++ rust/parser/src/adapt_in_c/includes/shcat.h | 29 +++++ sources/main.c | 35 ++++++ 13 files changed, 457 insertions(+), 8 deletions(-) create mode 100644 includes/minishell.h create mode 100644 includes/type_rust.h create mode 100644 libft/get_next_line.c create mode 100644 libft/get_next_line.h create mode 100644 libft/get_next_line_utils.c create mode 100644 libft/main.c create mode 100755 minishell create mode 100644 rust/parser/src/adapt_in_c/includes/enum.h create mode 100644 rust/parser/src/adapt_in_c/includes/rust_type.h create mode 100644 rust/parser/src/adapt_in_c/includes/shcat.h create mode 100644 sources/main.c diff --git a/Makefile b/Makefile index ea373c24..7884d5d6 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ # By: rparodi +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2023/11/12 11:05:05 by rparodi #+# #+# # -# Updated: 2024/03/25 15:30:19 by maiboyer ### ########.fr # +# Updated: 2024/03/28 15:17:18 by rparodi ### ########.fr # # # # **************************************************************************** # @@ -23,12 +23,13 @@ CC = cc RM = rm -rf # Flags -CFLAGS = -Werror -Wextra -Wall -Wno-unused-command-line-argument -g3 -MMD +CFLAGS = -Werror -Wextra -Wall -Wno-unused-command-line-argument -g3 -MMD -lreadline # Sources -LIB = +LIB = ./libft/get_next_line.c \ + ./libft/get_next_line_utils.c -SRC = +SRC = ./sources/main.c # Objects OBJDIRNAME = ./objects @@ -54,7 +55,7 @@ bonus: header $(OBJ) $(LIB_OBJ) footer @mkdir -p $(OBJDIRNAME)/$(SRCDIRNAME) @printf '$(GREY) Creating $(END)$(GREEN)$(OBJDIRNAME)$(END)\n' @printf '$(GREY) Be Carefull ur in $(END)$(GREEN)Debug Mode$(END)\n' - @cc $(CFLAGS) -D DEBUG=42 -o $(NAME) $(OBJ) $(LIB_OBJ) + @cc $(CFLAGS) -D DEBUG=42 -o $(NAME) $(OBJ) ./stdme/build/libft.a # Clean (make clean) clean: diff --git a/includes/minishell.h b/includes/minishell.h new file mode 100644 index 00000000..28bda83a --- /dev/null +++ b/includes/minishell.h @@ -0,0 +1,32 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* minishell.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rparodi +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/03/28 14:41:15 by rparodi #+# #+# */ +/* Updated: 2024/03/28 15:21:29 by rparodi ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef MINISHELL_H +#define MINISHELL_H + +# include "./type_rust.h" +# include "../libft/get_next_line.h" + +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +i32 main(void); + +#endif diff --git a/includes/type_rust.h b/includes/type_rust.h new file mode 100644 index 00000000..4c8d7f87 --- /dev/null +++ b/includes/type_rust.h @@ -0,0 +1,38 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* type_rust.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rparodi +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/03/28 14:44:20 by rparodi #+# #+# */ +/* Updated: 2024/03/28 15:01:47 by rparodi ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef TYPE_RUST_H +#define TYPE_RUST_H + +#include + +# define bool int +# define true 1 +# define false 0 + +# define u8 unsigned char +# define u16 unsigned short +# define u32 unsigned int +# define u64 unsigned long long + +# define i8 char +# define i16 short +# define i32 int +# define i64 long long + +# define usize size_t +# define isize ssize_t + +# define f32 float +# define f64 double + +#endif diff --git a/libft/get_next_line.c b/libft/get_next_line.c new file mode 100644 index 00000000..b4c2928d --- /dev/null +++ b/libft/get_next_line.c @@ -0,0 +1,78 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* get_next_line.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rparodi +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/11/18 17:12:02 by rparodi #+# #+# */ +/* Updated: 2023/11/22 13:31:13 by rparodi ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "get_next_line.h" + +char *ft_check(char *memory, int fd) +{ + char *buffer; + int bytescopy; + + bytescopy = 1; + buffer = (char *)malloc(sizeof(char) * (BUFFER_SIZE + 1)); + if (!buffer) + return (NULL); + while (ft_strchr(memory, '\n') <= 0 && bytescopy) + { + bytescopy = read(fd, buffer, BUFFER_SIZE); + if (bytescopy == -1) + return (ft_free(buffer)); + buffer[bytescopy] = '\0'; + memory = ft_strjoin(memory, buffer, 0, -1); + } + free(buffer); + return (memory); +} + +char *file_converted(int fd) +{ + size_t i; + int read_bits; + char *str; + char c; + + i = 0; + c = 1; + read_bits = 1; + str = (char *)malloc(sizeof(char) * BUFFER_SIZE); + if (!str) + return (NULL); + while (read_bits != 0 && i < BUFFER_SIZE) + { + read_bits = read(fd, &c, 1); + str[i] = c; + i++; + } + str[i] = '\0'; + return (str); +} + +char *ft_free(char *str) +{ + free(str); + return (NULL); +} + +char *get_next_line(int fd) +{ + static char *memory = NULL; + char *line; + + if (fd < 0 || BUFFER_SIZE <= 0) + return (NULL); + memory = ft_check(memory, fd); + if (!memory) + return (ft_free(memory)); + line = ft_get_line(memory); + memory = ft_get_next(memory); + return (line); +} diff --git a/libft/get_next_line.h b/libft/get_next_line.h new file mode 100644 index 00000000..3f76342e --- /dev/null +++ b/libft/get_next_line.h @@ -0,0 +1,33 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* get_next_line.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rparodi +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/11/18 17:12:04 by rparodi #+# #+# */ +/* Updated: 2023/11/23 18:15:34 by rparodi ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef GET_NEXT_LINE_H +# define GET_NEXT_LINE_H +# ifndef BUFFER_SIZE +# define BUFFER_SIZE 420 +# endif + +# include +# include + +char *ft_get_line(char *str); +char *get_next_line(int fd); +int ft_strchr(char *str, char c); +char *ft_get_next(char *str); +char *ft_get_line(char *str); +char *ft_strjoin(char *s1, char *s2, int i, int j); +size_t ft_strlen(char const *str); +char *file_converted(int fd); +char *ft_free(char *str); +char *ft_check(char *memory, int fd); + +#endif diff --git a/libft/get_next_line_utils.c b/libft/get_next_line_utils.c new file mode 100644 index 00000000..b4ad6c49 --- /dev/null +++ b/libft/get_next_line_utils.c @@ -0,0 +1,119 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* get_next_line_utils.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rparodi +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/11/18 17:14:47 by rparodi #+# #+# */ +/* Updated: 2023/11/22 13:35:03 by rparodi ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "get_next_line.h" + +size_t ft_strlen(char const *str) +{ + size_t i; + + i = 0; + if (str) + { + while (str[i]) + i++; + } + return (i); +} + +char *ft_strjoin(char *s1, char *s2, int i, int j) +{ + char *temp; + + if (!s1) + { + s1 = (char *)malloc(1); + s1[i] = '\0'; + } + if (!s2 || !s1) + return (NULL); + temp = (char *)malloc((ft_strlen(s1) + ft_strlen(s2) + 1)); + if (!temp) + return (NULL); + while (s1[i]) + { + temp[i] = s1[i]; + i++; + } + while (s2[++j]) + temp[i + j] = s2[j]; + temp[i + j] = '\0'; + free(s1); + return (temp); +} + +char *ft_get_line(char *str) +{ + char *temp; + int i; + + i = 0; + if (!str[i]) + return (NULL); + while (str[i] && str[i] != '\n') + i++; + temp = (char *)malloc((i + 2)); + if (!temp) + return (NULL); + i = 0; + while (str[i] && str[i] != '\n') + { + temp[i] = str[i]; + i++; + } + if (str[i] == '\n') + { + temp[i] = str[i]; + i++; + } + temp[i] = '\0'; + return (temp); +} + +char *ft_get_next(char *str) +{ + char *temp; + int i; + int j; + + i = 0; + while (str[i] && str[i] != '\n') + i++; + if (!str[i]) + return (ft_free(str)); + temp = (char *)malloc((ft_strlen(str) - i)); + if (!temp) + return (NULL); + j = i + 1; + while (str[++i]) + temp[i - j] = str[i]; + temp[i - j] = '\0'; + free(str); + return (temp); +} + +int ft_strchr(char *str, char c) +{ + int i; + + i = 0; + if (str) + { + while (str[i]) + { + if (str[i] == c) + return (i); + i++; + } + } + return (-1); +} diff --git a/libft/main.c b/libft/main.c new file mode 100644 index 00000000..88ea8631 --- /dev/null +++ b/libft/main.c @@ -0,0 +1,20 @@ +#include "get_next_line.h" +#include +#include + +int main(void) +{ + int fd = open("get_next_line.c", O_RDONLY); + int i = 0; + char *next_line = NULL; + while (i < 10000000) + { + next_line = get_next_line(fd); + if (!next_line) + return (printf("next_line[%d] = %s\n", i, next_line)); + printf("next_line[%d] = %s", i, next_line); + free(next_line); + i++; + } + return (0); +} diff --git a/minishell b/minishell new file mode 100755 index 0000000000000000000000000000000000000000..963606aef81fdcf7e052625d8710bbff7a2b1620 GIT binary patch literal 19976 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 literal 0 HcmV?d00001 diff --git a/other/pipex/include/app/main.h b/other/pipex/include/app/main.h index 77345084..bd8f66f1 100644 --- a/other/pipex/include/app/main.h +++ b/other/pipex/include/app/main.h @@ -6,15 +6,15 @@ /* By: maiboyer +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/01/06 18:51:07 by maiboyer #+# #+# */ -/* Updated: 2024/01/06 18:52:58 by maiboyer ### ########.fr */ +/* Updated: 2024/03/28 12:37:04 by rparodi ### ########.fr */ /* */ /* ************************************************************************** */ #ifndef MAIN_H # define MAIN_H -# include "me/fs/open.h" -# include "me/fs/read.h" +# include "../me/fs/open.h" +# include "../me/fs/read.h" # include "me/fs/write.h" # include "me/gnl/gnl.h" # include "me/mem/mem_find_bytes.h" diff --git a/rust/parser/src/adapt_in_c/includes/enum.h b/rust/parser/src/adapt_in_c/includes/enum.h new file mode 100644 index 00000000..d0f360e0 --- /dev/null +++ b/rust/parser/src/adapt_in_c/includes/enum.h @@ -0,0 +1,31 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* enum.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rparodi +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/03/28 12:44:05 by rparodi #+# #+# */ +/* Updated: 2024/03/28 13:09:06 by rparodi ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef ENUM_H +#define ENUM_H + +#include "./rust_type.h" + +enum e_separator_op +{ + Semi, + Fork, +}; + +enum e_pipeline_kind +{ + Or, + And, +}; + + +#endif diff --git a/rust/parser/src/adapt_in_c/includes/rust_type.h b/rust/parser/src/adapt_in_c/includes/rust_type.h new file mode 100644 index 00000000..1f08c5c8 --- /dev/null +++ b/rust/parser/src/adapt_in_c/includes/rust_type.h @@ -0,0 +1,33 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* rust_type.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rparodi +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/03/28 12:50:51 by rparodi #+# #+# */ +/* Updated: 2024/03/28 12:52:53 by rparodi ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef RUST_TYPE_H +#define RUST_TYPE_H + +# define bool int +# define true 1 +# define false 0 +# define u8 unsigned char +# define u16 unsigned short +# define u32 unsigned int +# define u64 unsigned long long +# define i8 char +# define i16 short +# define i32 int +# define i64 long long +# define usize size_t +# define isize ssize_t +# define f32 float +# define f64 double + +#endif + diff --git a/rust/parser/src/adapt_in_c/includes/shcat.h b/rust/parser/src/adapt_in_c/includes/shcat.h new file mode 100644 index 00000000..36effa7f --- /dev/null +++ b/rust/parser/src/adapt_in_c/includes/shcat.h @@ -0,0 +1,29 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* shcat.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rparodi +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/03/28 12:42:55 by rparodi #+# #+# */ +/* Updated: 2024/03/28 12:53:50 by rparodi ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef SHCAT_H +#define SHCAT_H + +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include + +# include "./enum.h" +# include "./rust_type.h" +#endif diff --git a/sources/main.c b/sources/main.c new file mode 100644 index 00000000..2c98d471 --- /dev/null +++ b/sources/main.c @@ -0,0 +1,35 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* main.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rparodi +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/03/28 14:40:38 by rparodi #+# #+# */ +/* Updated: 2024/03/28 15:20:38 by rparodi ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "../includes/minishell.h" + +void ft_take_cmd(void) +{ + int i = 0; + char *next_line = NULL; + while (i < 10000000) + { + next_line = readline("shcat > "); + if (!next_line) + exit(1); + printf("%s\n", next_line); + add_history(next_line); + free(next_line); + i++; + } +} + +int main(void) +{ + printf("Welcome to our Minishell !\n"); + ft_take_cmd(); +}