chore: make it norminette compliant

This commit is contained in:
Quinten Mennen 2025-02-04 20:52:28 +01:00
parent 8170eec2ae
commit 34867c05a3
4 changed files with 36 additions and 32 deletions

View File

@ -6,15 +6,15 @@
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */ /* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/02/04 18:04:07 by qmennen #+# #+# */ /* Created: 2025/02/04 18:04:07 by qmennen #+# #+# */
/* Updated: 2025/02/04 20:40:27 by qmennen ### ########.fr */ /* Updated: 2025/02/04 20:50:37 by qmennen ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
#include "minishell.h" #include "minishell.h"
t_lexer *ft_lexer_new(const char *input) t_lexer *ft_lexer_new(const char *input)
{ {
t_lexer *lexer; t_lexer *lexer;
lexer = malloc(sizeof(t_lexer)); lexer = malloc(sizeof(t_lexer));
if (!lexer) if (!lexer)
@ -31,12 +31,12 @@ t_lexer *ft_lexer_new(const char *input)
return (lexer); return (lexer);
} }
void ft_lexer_readchar(t_lexer *lexer) void ft_lexer_readchar(t_lexer *lexer)
{ {
if ((size_t)lexer->n_pos > ft_strlen(lexer->input)) if ((size_t)lexer->n_pos > ft_strlen(lexer->input))
{ {
lexer->current_char = '\0'; lexer->current_char = '\0';
return; return ;
} }
lexer->current_char = lexer->input[lexer->n_pos]; lexer->current_char = lexer->input[lexer->n_pos];
lexer->pos = lexer->n_pos; lexer->pos = lexer->n_pos;
@ -66,26 +66,30 @@ static char *ft_parse_quotes(t_lexer *lexer)
char *ft_lexer_readword(t_lexer *lexer) char *ft_lexer_readword(t_lexer *lexer)
{ {
int start; int start;
int len; int len;
char *word; char *word;
start = lexer->pos; start = lexer->pos;
if (lexer->current_char == '"' || lexer->current_char == '\'') if (lexer->current_char == '"' || lexer->current_char == '\'')
{ {
return (ft_parse_quotes(lexer)); return (ft_parse_quotes(lexer));
} }
while (ft_isprint(lexer->current_char) && lexer->current_char != '<' && lexer->current_char != '>' && lexer->current_char != '|' && lexer->current_char != '\0') while (ft_isprint(lexer->current_char) && lexer->current_char != '<'
&& lexer->current_char != '>' && lexer->current_char != '|'
&& lexer->current_char != '\0')
{
ft_lexer_readchar(lexer); ft_lexer_readchar(lexer);
}
len = lexer->pos - start; len = lexer->pos - start;
word = malloc(sizeof(char) * len); word = malloc(sizeof(char) * len);
ft_strlcpy(word, lexer->input + start, len + 1); ft_strlcpy(word, lexer->input + start, len + 1);
return (word); return (word);
} }
void ft_lexer_free(t_lexer *lexer) void ft_lexer_free(t_lexer *lexer)
{ {
if (lexer->input) if (lexer->input)
free(lexer->input); free(lexer->input);
free(lexer); free(lexer);
} }

View File

@ -6,7 +6,7 @@
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */ /* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/02/04 16:07:58 by qmennen #+# #+# */ /* Created: 2025/02/04 16:07:58 by qmennen #+# #+# */
/* Updated: 2025/02/04 20:45:45 by qmennen ### ########.fr */ /* Updated: 2025/02/04 20:48:17 by qmennen ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -22,18 +22,18 @@ t_list *ft_parse_input(t_lexer *lexer)
{ {
token = ft_token_next(lexer); token = ft_token_next(lexer);
if (token->type == T_EOF || token->type == T_ERROR) if (token->type == T_EOF || token->type == T_ERROR)
break; break ;
ft_lstadd_back(&list, ft_lstnew(token)); ft_lstadd_back(&list, ft_lstnew(token));
} }
ft_token_free(token); ft_token_free(token);
return (list); return (list);
} }
t_token *ft_token_next(t_lexer *lexer) t_token *ft_token_next(t_lexer *lexer)
{ {
t_token *token; t_token *token;
char *word; char *word;
int current_pos; int current_pos;
token = NULL; token = NULL;
while (ft_isspace(lexer->current_char)) while (ft_isspace(lexer->current_char))
@ -41,7 +41,8 @@ t_token *ft_token_next(t_lexer *lexer)
current_pos = lexer->pos; current_pos = lexer->pos;
if (lexer->current_char == '\0') if (lexer->current_char == '\0')
token = ft_token_new(T_EOF, NULL, current_pos); token = ft_token_new(T_EOF, NULL, current_pos);
else if (lexer->current_char == '<' || lexer->current_char == '>' || lexer->current_char == '|') else if (lexer->current_char == '<' || lexer->current_char == '>'
|| lexer->current_char == '|')
token = ft_parse_token(lexer); token = ft_parse_token(lexer);
else if (ft_isprint(lexer->current_char)) else if (ft_isprint(lexer->current_char))
{ {
@ -54,10 +55,10 @@ t_token *ft_token_next(t_lexer *lexer)
return (token); return (token);
} }
void ft_clear_tokenlist(void *content) void ft_clear_tokenlist(void *content)
{ {
t_token *token; t_token *token;
token = (t_token *)content; token = (t_token *)content;
ft_token_free(token); ft_token_free(token);
} }

View File

@ -6,16 +6,16 @@
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */ /* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/02/04 18:02:56 by qmennen #+# #+# */ /* Created: 2025/02/04 18:02:56 by qmennen #+# #+# */
/* Updated: 2025/02/04 20:29:06 by qmennen ### ########.fr */ /* Updated: 2025/02/04 20:49:28 by qmennen ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
# include "minishell.h" #include "minishell.h"
t_token *ft_parse_token(t_lexer *lexer) t_token *ft_parse_token(t_lexer *lexer)
{ {
t_token *token; t_token *token;
token = NULL; token = NULL;
if (lexer->current_char == '|') if (lexer->current_char == '|')
{ {
@ -26,15 +26,14 @@ t_token *ft_parse_token(t_lexer *lexer)
token = ft_token_new(T_REDIRECT_IN, "<", lexer->pos); token = ft_token_new(T_REDIRECT_IN, "<", lexer->pos);
} }
else if (lexer->current_char == '>' && lexer->input[lexer->pos + 1] == '>') else if (lexer->current_char == '>' && lexer->input[lexer->pos + 1] == '>')
{ {
token = ft_token_new(T_APPEND_OUT, ">>", lexer->pos); token = ft_token_new(T_APPEND_OUT, ">>", lexer->pos);
ft_lexer_readchar(lexer); ft_lexer_readchar(lexer);
} }
else if (lexer->current_char == '>') else if (lexer->current_char == '>')
{ {
token = ft_token_new(T_REDIRECT_OUT, ">", lexer->pos); token = ft_token_new(T_REDIRECT_OUT, ">", lexer->pos);
} }
ft_lexer_readchar(lexer); ft_lexer_readchar(lexer);
return (token); return (token);
} }
@ -63,4 +62,4 @@ void ft_token_free(t_token *token)
if (token->value) if (token->value)
free(token->value); free(token->value);
free(token); free(token);
} }

View File

@ -6,13 +6,13 @@
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */ /* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/02/04 16:31:29 by qmennen #+# #+# */ /* Created: 2025/02/04 16:31:29 by qmennen #+# #+# */
/* Updated: 2025/02/04 16:32:08 by qmennen ### ########.fr */ /* Updated: 2025/02/04 20:51:04 by qmennen ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
# include "minishell.h" #include "minishell.h"
int ft_isspace(const char c) int ft_isspace(const char c)
{ {
return (c == ' ' || c == '\t' || c == '\v' || c == '\n' || c == '\v'); return (c == ' ' || c == '\t' || c == '\v' || c == '\n' || c == '\v');
} }