28 lines
534 B
C
28 lines
534 B
C
#ifndef SK_MODULE_H
|
|
#define SK_MODULE_H
|
|
|
|
#include "commons.h"
|
|
#include "prog.h"
|
|
#include "sym.h"
|
|
#include "state.h"
|
|
|
|
struct module
|
|
{
|
|
char* name;
|
|
struct str source;
|
|
struct prog* prog;
|
|
struct sym* sym;
|
|
struct state* state;
|
|
};
|
|
|
|
void module_init(struct module* self, char const* name);
|
|
struct module* module_new_clone(struct module* self);
|
|
void module_free(struct module* self);
|
|
|
|
void module_load_source(struct module* self,
|
|
char const* path);
|
|
|
|
int module_compile(struct module* self);
|
|
|
|
#endif
|