/** * Holds the AST model */ #ifndef AST_H #define AST_H #include "bool.h" #include typedef struct { /* @brief The name of the module being imported. */ char* module_name; /* @brief Whether the import is public or not. */ bool is_public; } ImportDeclaration; /** * The top-level model. * Every file matches an entire Module. */ typedef struct { /* @brief The name of the module. */ char* name; /* @brief The list of imports in the module. */ ImportDeclaration* imports; /* @brief The number of imports in the module. */ size_t import_count; } Module; #endif