import std.stdio; import std.string; import parser; import dbg; import chunk; import compiler; import vm; /* import compiler; import obj; import dbg; import chunk; import vm; */ void repl() { while(true) { write("> "); string input = strip(stdin.readln()); if (input.length == 0) { continue; } Parser parser = new Parser(input); Compiler compiler = new Compiler(FunctionType.SCRIPT, &parser); Function func = compiler.compile(); int cnt = 0; writeln("== disassembly =="); while(true) { if (cnt >= func.chunk.code.length) { break; } cnt = disassemble(func.chunk, cnt); } VM vm = new VM(func); vm.run(); } } void main() { repl(); }