diff options
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -3,6 +3,7 @@ | |||
3 | #include <stdlib.h> | 3 | #include <stdlib.h> |
4 | 4 | ||
5 | #include "badlib.h" | 5 | #include "badlib.h" |
6 | #include "compiler.c" | ||
6 | #include "lexer.c" | 7 | #include "lexer.c" |
7 | #include "parser.c" | 8 | #include "parser.c" |
8 | #include "semantic.c" | 9 | #include "semantic.c" |
@@ -193,6 +194,8 @@ process_file(Str path) { | |||
193 | Instruction halt = (Instruction){.op = OP_HALT, .dst = res_reg}; | 194 | Instruction halt = (Instruction){.op = OP_HALT, .dst = res_reg}; |
194 | array_push(chunk.code, halt, &bytecode_arena); | 195 | array_push(chunk.code, halt, &bytecode_arena); |
195 | 196 | ||
197 | disassemble_chunk(chunk); | ||
198 | |||
196 | // Run bytecode on VM. | 199 | // Run bytecode on VM. |
197 | VM vm = {0}; | 200 | VM vm = {0}; |
198 | vm_init(&vm, &chunk); | 201 | vm_init(&vm, &chunk); |
@@ -201,7 +204,6 @@ process_file(Str path) { | |||
201 | vm_run(&vm); | 204 | vm_run(&vm); |
202 | // println("VM REGISTERS AFTER:\n%{Mem}", | 205 | // println("VM REGISTERS AFTER:\n%{Mem}", |
203 | // &(Array){.mem = (u8 *)&vm.regs, sizeof(vm.regs)}); | 206 | // &(Array){.mem = (u8 *)&vm.regs, sizeof(vm.regs)}); |
204 | disassemble_chunk(chunk); | ||
205 | 207 | ||
206 | #if DEBUG == 1 | 208 | #if DEBUG == 1 |
207 | println("Space used: %{Arena}", &lexer_arena); | 209 | println("Space used: %{Arena}", &lexer_arena); |