2024-03-27 19:53:06 +00:00
|
|
|
#ifndef MK_MODULE_H
|
|
|
|
#define MK_MODULE_H
|
|
|
|
|
|
|
|
#include "commons.h"
|
|
|
|
#include "status.h"
|
|
|
|
#include "lexer.h"
|
|
|
|
#include "parser.h"
|
|
|
|
#include "prog.h"
|
|
|
|
#include "moka.h"
|
|
|
|
#include "compiler.h"
|
|
|
|
#include "exec.h"
|
|
|
|
#include "status.h"
|
|
|
|
|
|
|
|
struct module
|
|
|
|
{
|
|
|
|
struct status status;
|
|
|
|
struct prog prog;
|
|
|
|
struct moka moka;
|
2024-03-29 04:46:35 +00:00
|
|
|
void* handle;
|
2024-03-27 19:53:06 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
void module_init(struct module* self);
|
|
|
|
void module_free(struct module* self);
|
|
|
|
|
2024-03-29 04:46:35 +00:00
|
|
|
int module_load_from_dl(struct module* self, char const* path);
|
2024-03-27 19:53:06 +00:00
|
|
|
int module_load_from_file(struct module* self, char const* path);
|
|
|
|
int module_load_from_str(struct module* self, char const* source);
|
|
|
|
|
|
|
|
#endif
|