From 8915cd6fba9a7d449efc13543d7d0db4fca9d0d5 Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Thu, 31 Dec 2020 18:05:58 +0300 Subject: feat(tazjin/rlox): Implement block parsing Change-Id: I1b7235ed71fa36120984a36f22cd564f59581352 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2303 Reviewed-by: tazjin Tested-by: BuildkiteCI --- users/tazjin/rlox/src/interpreter.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'users/tazjin/rlox/src/interpreter.rs') diff --git a/users/tazjin/rlox/src/interpreter.rs b/users/tazjin/rlox/src/interpreter.rs index edaa5e28f234..ba66faf79b16 100644 --- a/users/tazjin/rlox/src/interpreter.rs +++ b/users/tazjin/rlox/src/interpreter.rs @@ -1,5 +1,5 @@ use crate::errors::{Error, ErrorKind}; -use crate::parser::{self, Expr, Literal, Program, Statement}; +use crate::parser::{self, Block, Expr, Literal, Statement}; use crate::scanner::{self, TokenKind}; use std::collections::HashMap; use std::rc::Rc; @@ -78,7 +78,7 @@ pub struct Interpreter { } impl Interpreter { - pub fn interpret<'a>(&mut self, program: &Program<'a>) -> Result<(), Error> { + pub fn interpret<'a>(&mut self, program: &Block<'a>) -> Result<(), Error> { for stmt in program { self.interpret_stmt(stmt)?; } @@ -96,6 +96,7 @@ impl Interpreter { println!("{:?}", result) } Statement::Var(var) => return self.interpret_var(var), + Statement::Block(_) => unimplemented!(), } Ok(()) -- cgit 1.4.1