From 1ff7a2686c2d7e405e597f9ac8a96189ec161d58 Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Mon, 18 Jan 2021 03:21:52 +0300 Subject: refactor(tazjin/rlox): Add Interpreter trait for switching impls Change-Id: Iae28d64ce879014c5e5d7e145c536c1f16ad307d Reviewed-on: https://cl.tvl.fyi/c/depot/+/2418 Reviewed-by: tazjin Tested-by: BuildkiteCI --- users/tazjin/rlox/src/bytecode/vm.rs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'users/tazjin/rlox/src/bytecode/vm.rs') diff --git a/users/tazjin/rlox/src/bytecode/vm.rs b/users/tazjin/rlox/src/bytecode/vm.rs index fd91cd7be627..33bc358f44e8 100644 --- a/users/tazjin/rlox/src/bytecode/vm.rs +++ b/users/tazjin/rlox/src/bytecode/vm.rs @@ -32,7 +32,7 @@ macro_rules! binary_op { } impl VM { - fn run(&mut self) -> LoxResult<()> { + fn run(&mut self) -> LoxResult { loop { let op = &self.chunk.code[self.ip]; @@ -42,10 +42,7 @@ impl VM { self.ip += 1; match op { - OpCode::OpReturn => { - println!("{:?}", self.pop()); - return Ok(()); - } + OpCode::OpReturn => return Ok(self.pop()), OpCode::OpConstant(idx) => { let c = *self.chunk.constant(*idx); @@ -66,7 +63,7 @@ impl VM { } } -pub fn interpret(chunk: chunk::Chunk) -> LoxResult<()> { +pub fn interpret(chunk: chunk::Chunk) -> LoxResult { let mut vm = VM { chunk, ip: 0, -- cgit 1.4.1