#ifndef PRINT_H
#define PRINT_H PRINT_H
#include <stdio.h>
#include <lexer.h>
#include <parser.h>
#include <queue.h>
void print_keyword_enum(enum Keyword code);
void print_token(struct token *token);
void print_tokens(struct Queue *tokens);
void print_ast_enum(enum AST_Type type);
void print_ast(struct AST *tree);
void print_ast_state(struct AST_State* tree);
void print_ast_event(struct AST_Event* tree);
void print_ast_states(struct AST_States* tree);
void print_ast_events(struct AST_Events* tree);
void print_ast_transition(struct AST_Transition* tree);
void print_ast_command(struct AST_Command* tree);
void print_ast_pipeline(struct AST_Pipeline* tree);
void print_ast_machine(struct AST_Machine* tree);
void print_ast_transitions(struct AST_Transitions* tree);
void print_ast_translation_unit(struct AST_Translation_Unit *tree);
void print_ast_binary_expression(struct AST_Binary_Expression *tree);
void print_ast_unary_expression(struct AST_Unary_Expression *tree);
void print_ast_unchecked_state(struct AST_Unchecked_State *tree);
void print_ast_if_statement(struct AST_If_Statement *tree);
void print_error(struct Error *error);
void print_errors(struct Translation_Data *translation_data);
#endif