fix: added new ast type and moved parsing functions to a different header
This commit is contained in:
parent
7b773641a1
commit
37fcdf99be
4 changed files with 96 additions and 22 deletions
35
src/parser/parsing_utils.c
Normal file
35
src/parser/parsing_utils.c
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
struct ast *parse_simple_command(void)
|
||||
{
|
||||
struct list *cmd_elements = NULL;
|
||||
char *token = pop_token();
|
||||
if (token == NULL) // just in case ?
|
||||
{
|
||||
puts("Internal error: cannot get the following token");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
while (token != NULL && !isterminator(token[0]))
|
||||
{
|
||||
cmd_elements = list_append(cmd_elements, token);
|
||||
token = pop_token();
|
||||
}
|
||||
|
||||
if (token == NULL)
|
||||
{
|
||||
puts("Internal error: cannot get the following token");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
struct ast *result = ast_create_cmd(cmd_elements);
|
||||
return result;
|
||||
}
|
||||
|
||||
struct ast *parse_if_rule(void)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
struct ast *parse_shell_command(void)
|
||||
{
|
||||
return parse_if_rule();
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue