aboutsummaryrefslogtreecommitdiff
path: root/src/as_codegen.h
diff options
context:
space:
mode:
authorMistivia <i@mistivia.com>2025-03-25 17:31:08 +0800
committerMistivia <i@mistivia.com>2025-03-25 17:31:08 +0800
commit39e2a605f6d8ebcc3cb454daae3d0a4298df2eb6 (patch)
tree9d0933cdcb0d4bb2d80316f106611a4aa9024dd4 /src/as_codegen.h
parentd1195499338ba4b6536f8a6a56564622eb07469f (diff)
add codegen
Diffstat (limited to 'src/as_codegen.h')
-rw-r--r--src/as_codegen.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/as_codegen.h b/src/as_codegen.h
new file mode 100644
index 0000000..17e6ca9
--- /dev/null
+++ b/src/as_codegen.h
@@ -0,0 +1,18 @@
+#ifndef FVM_AS_CODEGEN_H_
+#define FVM_AS_CODEGEN_H_
+
+#include "as_analyzer.h"
+#include <stdlib.h>
+
+struct bytearray {
+ size_t cap;
+ size_t len;
+ char* buf;
+};
+
+void bytearray_emit8(struct bytearray *self, int8_t data);
+void bytearray_emit64(struct bytearray *self, int64_t data);
+
+struct result codegen(struct allocator *alct, struct prog *prog, struct sym_table tbl);
+
+#endif // FVM_AS_CODEGEN_H_