ccm/lib/compiler.h

31 lines
697 B
C
Raw Normal View History

2024-03-18 17:20:40 +00:00
#ifndef CCM_COMPILER_H
#define CCM_COMPILER_H
#include "commons.h"
#include "bytecode.h"
#include "prog.h"
#include "node.h"
#include "err.h"
#include "module.h"
typedef struct {
module_t* module;
err_t err;
} compiler_t;
void compiler_init(compiler_t* self, module_t* module);
void compiler_free(compiler_t* self);
2024-03-19 06:11:28 +00:00
void compiler_compile(compiler_t* self,
node_t* node,
2024-03-18 17:20:40 +00:00
prog_t* prog);
2024-03-19 06:11:28 +00:00
void compiler_compile_or(compiler_t* self,
node_t* node,
prog_t* prog);
void compiler_compile_and(compiler_t* self,
node_t* node,
prog_t* prog);
2024-03-18 17:20:40 +00:00
#endif