#ifndef AST_COMMAND_H #define AST_COMMAND_H #include #include "utils/lists/lists.h" #include "utils/ast/ast_base.h" struct ast_command { struct list *command; // A list of words (char*) }; /** * Checks if the given AST node is a command. */ bool ast_is_command(struct ast *node); /** * Retrieves the command data from the given AST node. * Assumes that the node is of type AST_CMD. */ struct ast_command *ast_get_command(struct ast *node); /** * Creates a new AST node representing a command. */ struct ast *ast_create_command(struct list *command); /* * @brief: frees the given ast_command and sets the pointer to NULL. */ void ast_free_command(struct ast_command *command_data); #endif /* ! AST_COMMAND_H */