aboutsummaryrefslogtreecommitdiff
path: root/src/lexer
diff options
context:
space:
mode:
Diffstat (limited to 'src/lexer')
-rw-r--r--src/lexer/lexer.c12
-rw-r--r--src/lexer/tok_lst.c16
-rw-r--r--src/lexer/trim.c6
-rw-r--r--src/lexer/utils.c26
4 files changed, 28 insertions, 32 deletions
diff --git a/src/lexer/lexer.c b/src/lexer/lexer.c
index 9b947f4..5df63ba 100644
--- a/src/lexer/lexer.c
+++ b/src/lexer/lexer.c
@@ -6,15 +6,14 @@
/* By: nahaddac <nahaddac@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/07/16 08:18:25 by nahaddac #+# #+# */
-/* Updated: 2020/10/09 12:29:32 by cacharle ### ########.fr */
+/* Updated: 2020/10/09 15:12:51 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
#include "lexer.h"
#include <stdio.h>
-// len until meaningful character for non quoted str
-int len_until_sep(char *input)
+int len_until_sep(char *input)
{
int i;
@@ -40,7 +39,6 @@ int len_until_sep(char *input)
return (i);
}
-// token content length
int tok_len(char *input)
{
int i;
@@ -74,10 +72,10 @@ int tok_len(char *input)
** return all token
*/
-t_tok_lst *create_token_list(char *input, t_tok_lst **lst)
+t_tok_lst *create_token_list(char *input, t_tok_lst **lst)
{
t_tok_lst *tok;
- size_t i;
+ size_t i;
size_t j;
size_t len;
@@ -105,7 +103,7 @@ t_tok_lst *create_token_list(char *input, t_tok_lst **lst)
** \return The created tokens or NULL on error
*/
-int lexer(char *input, t_tok_lst **out)
+int lexer(char *input, t_tok_lst **out)
{
int status;
diff --git a/src/lexer/tok_lst.c b/src/lexer/tok_lst.c
index 9ae0ce1..89ab120 100644
--- a/src/lexer/tok_lst.c
+++ b/src/lexer/tok_lst.c
@@ -6,7 +6,7 @@
/* By: charles <me@cacharle.xyz> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/08/27 09:32:58 by charles #+# #+# */
-/* Updated: 2020/10/08 17:38:59 by cacharle ### ########.fr */
+/* Updated: 2020/10/09 15:14:38 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
@@ -14,7 +14,8 @@
t_tok_lst *tok_lst_new(enum e_tok tag, char *content)
{
- return (tok_lst_new_until(tag, content, content == NULL ? 0 : ft_strlen(content)));
+ return (tok_lst_new_until(
+ tag, content, content == NULL ? 0 : ft_strlen(content)));
}
/*
@@ -25,14 +26,15 @@ t_tok_lst *tok_lst_new(enum e_tok tag, char *content)
** \return An allocated tok_lst or NULL on error
*/
-t_tok_lst *tok_lst_new_until(enum e_tok tag, char *content, size_t n)
+t_tok_lst *tok_lst_new_until(
+ enum e_tok tag, char *content, size_t n)
{
t_tok_lst *ret;
if ((ret = malloc(sizeof(t_tok_lst))) == NULL)
return (NULL);
if (content == NULL)
- ret->content = NULL;
+ ret->content = NULL;
else if ((ret->content = ft_strndup(content, n)) == NULL)
{
free(ret);
@@ -48,7 +50,8 @@ void tok_lst_push_back(t_tok_lst **tokens, t_tok_lst *pushed)
ft_lstpush_back((t_ftlst**)tokens, (t_ftlst*)pushed);
}
-t_tok_lst *tok_lst_push_front(t_tok_lst **tokens, t_tok_lst *pushed)
+t_tok_lst *tok_lst_push_front(
+ t_tok_lst **tokens, t_tok_lst *pushed)
{
if (pushed == NULL)
return (NULL);
@@ -56,7 +59,8 @@ t_tok_lst *tok_lst_push_front(t_tok_lst **tokens, t_tok_lst *pushed)
return (*tokens);
}
-void tok_lst_pop_front(t_tok_lst **tokens, void (*del)(void*))
+void tok_lst_pop_front(
+ t_tok_lst **tokens, void (*del)(void*))
{
ft_lstpop_front((t_ftlst**)tokens, del);
}
diff --git a/src/lexer/trim.c b/src/lexer/trim.c
index 0f3279b..d0ba90a 100644
--- a/src/lexer/trim.c
+++ b/src/lexer/trim.c
@@ -6,13 +6,11 @@
/* By: nahaddac <nahaddac@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/07/16 08:18:36 by nahaddac #+# #+# */
-/* Updated: 2020/10/07 10:36:41 by cacharle ### ########.fr */
+/* Updated: 2020/10/09 15:17:45 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
-
#include "lexer.h"
-#include <stdio.h>
void del_space(char *str)
{
@@ -32,7 +30,7 @@ void del_space(char *str)
}
}
-int del_quote(char *str)
+int del_quote(char *str)
{
size_t i;
size_t quote_counter;
diff --git a/src/lexer/utils.c b/src/lexer/utils.c
index 0b7baa3..624b460 100644
--- a/src/lexer/utils.c
+++ b/src/lexer/utils.c
@@ -6,14 +6,13 @@
/* By: nahaddac <nahaddac@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/07/16 08:18:15 by nahaddac #+# #+# */
-/* Updated: 2020/10/08 14:11:51 by cacharle ### ########.fr */
+/* Updated: 2020/10/09 15:24:31 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
#include "lexer.h"
-// return token tag corresponding to string id
-enum e_tok tok_assign_tag(char *content)
+enum e_tok tok_assign_tag(char *content)
{
if (content[0] == ';')
return (TAG_END);
@@ -21,7 +20,7 @@ enum e_tok tok_assign_tag(char *content)
return (TAG_AND);
if (ft_strncmp(content, "||", 2) == 0)
return (TAG_OR);
- if(content[0] == '|')
+ if (content[0] == '|')
return (TAG_PIPE);
if (content[0] == '>')
return (TAG_REDIR_OUT);
@@ -42,14 +41,13 @@ enum e_tok tok_assign_tag(char *content)
** a la fin (char *)tk->tok ne figure pas d'espace.
*/
-enum e_tok tok_assign_stick(t_tok_lst *tok)
+enum e_tok tok_assign_stick(t_tok_lst *tok)
{
int i;
i = ft_strlen(tok->content);
- if (i > 0)
- if (ft_isblank(tok->content[i - 1]))
- return (tok->tag);
+ if (i > 0 && ft_isblank(tok->content[i - 1]))
+ return (tok->tag);
return (tok->tag | TAG_STICK);
}
@@ -58,7 +56,8 @@ enum e_tok tok_assign_stick(t_tok_lst *tok)
** la chaine de character est un str où '' où ''
** \note the loop after ft_strpbrk is to search again if the quote was escaped
*/
-enum e_tok tok_assign_str(t_tok_lst *tok)
+
+enum e_tok tok_assign_str(t_tok_lst *tok)
{
char *found;
@@ -74,20 +73,17 @@ enum e_tok tok_assign_str(t_tok_lst *tok)
return (tok_assign_stick(tok));
}
-
-// check is char is separator
-int lexer_sep(char c)
+int lexer_sep(char c)
{
return (ft_strchr(";&|><()", c) != NULL);
}
-// number of starting space character
-int lexer_space(char *input)
+int lexer_space(char *input)
{
return (ft_strspn(input, " \t"));
}
-int quote_len(char *input, int i)
+int quote_len(char *input, int i)
{
char quote_type;