From 995d024f03d99726de5b22bdf5aaa04a88e00b4a Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Sun, 28 Feb 2021 01:13:52 +0200 Subject: feat(tazjin/rlox): Wire up bytecode interpreter & print results This makes the bytecode interpreter actually usable. Change-Id: I24afc7ce461c6673dc42581378f6e14da7aece5c Reviewed-on: https://cl.tvl.fyi/c/depot/+/2566 Reviewed-by: tazjin Tested-by: BuildkiteCI --- users/tazjin/rlox/src/main.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'users/tazjin/rlox/src/main.rs') diff --git a/users/tazjin/rlox/src/main.rs b/users/tazjin/rlox/src/main.rs index 2b4e365d4125..2d8cf4f354ea 100644 --- a/users/tazjin/rlox/src/main.rs +++ b/users/tazjin/rlox/src/main.rs @@ -11,7 +11,7 @@ mod treewalk; /// Trait for making the different interpreters callable in the same /// way. pub trait Lox { - type Value; + type Value: std::fmt::Debug; type Error: std::fmt::Display; fn create() -> Self; @@ -69,9 +69,12 @@ fn run_prompt() { } fn run(lox: &mut I, code: String) { - if let Err(errors) = lox.interpret(code) { - for error in errors { - eprintln!("{}", error); + match lox.interpret(code) { + Ok(result) => println!("=> {:?}", result), + Err(errors) => { + for error in errors { + eprintln!("{}", error); + } } } } -- cgit 1.4.1