From 55df6ea5d5754cd0501d7df5e206f1e35d580f59 Mon Sep 17 00:00:00 2001 From: Kimplul Date: Tue, 4 Jul 2023 22:17:01 +0300 Subject: init --- bcode.h | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 bcode.h (limited to 'bcode.h') diff --git a/bcode.h b/bcode.h new file mode 100644 index 0000000..6683686 --- /dev/null +++ b/bcode.h @@ -0,0 +1,32 @@ +#ifndef BCGEN_BCODE_H +#define BCGEN_BCODE_H + +#include + +typedef unsigned long gbreg_t; +typedef double fbreg_t; +typedef size_t breloc_t; + +typedef union { + gbreg_t g; + fbreg_t f; +} breg_t; + +struct run_state { + void* (*op); + breg_t *imm; +}; + +struct compile_state { + struct run_state s; + void* (*labels); + size_t pc; +}; + +#include "gen/select.h" + +void run(struct compile_state *cs); +void init(struct compile_state *cs); +void destroy(struct compile_state *cs); + +#endif /* BCGEN_BCODE_H */ -- cgit v1.3