From 9e555bc2bf618148929e52ccd0efdb1b752bdcac Mon Sep 17 00:00:00 2001 From: ubq323 Date: Tue, 1 Aug 2023 22:37:26 +0100 Subject: compilation of basic arithmetic exprs to bytecode --- vm.c | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) (limited to 'vm.c') diff --git a/vm.c b/vm.c index 72f69fa..70f065b 100644 --- a/vm.c +++ b/vm.c @@ -60,22 +60,22 @@ Vm vm_new(Chunk *ch) { } -static void runvm() { - Chunk ch = chunk_new(); +void runvm(Chunk *ch) { + // Chunk ch = chunk_new(); - chunk_wbc(&ch, OP_LOADK); - chunk_wbc(&ch, chunk_wconst(&ch, VAL_NUM(10.0))); - chunk_wbc(&ch, OP_LOADK); - chunk_wbc(&ch, chunk_wconst(&ch, VAL_NUM(3.0))); - chunk_wbc(&ch, OP_DIV); - chunk_wbc(&ch, OP_PRINT); + // chunk_wbc(&ch, OP_LOADK); + // chunk_wbc(&ch, chunk_wconst(&ch, VAL_NUM(10.0))); + // chunk_wbc(&ch, OP_LOADK); + // chunk_wbc(&ch, chunk_wconst(&ch, VAL_NUM(3.0))); + // chunk_wbc(&ch, OP_DIV); + // chunk_wbc(&ch, OP_PRINT); - chunk_wbc(&ch, OP_RET); + // chunk_wbc(&ch, OP_RET); - disasm_chunk(&ch); + disasm_chunk(ch); - Vm vm = vm_new(&ch); + Vm vm = vm_new(ch); #define RBYTE() (vm.ch->b[vm.ip++]) #define PUSH(v) vm.stack[vm.sp++] = v; @@ -126,6 +126,5 @@ static void runvm() { done:; } -int main() { runvm(); } -- cgit v1.2.3