aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main.c
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2025-12-05 06:41:45 +0900
committernsfisis <nsfisis@gmail.com>2025-12-05 06:41:45 +0900
commitf64ab73b841377f044e727ee1d9e0bcf55c6b626 (patch)
treef87a6a2c766791dbe0a6b1dfb6599216b661050f /src/main.c
parentd31f9ba65586887ac662a86887a8ffe87774081b (diff)
downloadducc-f64ab73b841377f044e727ee1d9e0bcf55c6b626.tar.gz
ducc-f64ab73b841377f044e727ee1d9e0bcf55c6b626.tar.zst
ducc-f64ab73b841377f044e727ee1d9e0bcf55c6b626.zip
feat: minimal wasm backend
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/main.c b/src/main.c
index 92066cf..e8e1030 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1,6 +1,7 @@
#include "ast.h"
#include "cli.h"
#include "codegen.h"
+#include "codegen_wasm.h"
#include "common.h"
#include "fs.h"
#include "io.h"
@@ -44,9 +45,17 @@ int main(int argc, char** argv) {
assembly_filename = temp_filename;
}
FILE* assembly_file = assembly_filename ? fopen(assembly_filename, "wb") : stdout;
- codegen(prog, assembly_file);
+ if (cli_args->wasm) {
+ codegen_wasm(prog, assembly_file);
+ } else {
+ codegen(prog, assembly_file);
+ }
fclose(assembly_file);
+ if (cli_args->wasm) {
+ return 0;
+ }
+
if (!cli_args->output_assembly) {
char cmd_buf[256];
if (cli_args->only_compile) {