about summary refs log tree commit diff
path: root/users/tazjin/rlox/src/interpreter.rs
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2020-12-31T15·05+0300
committertazjin <mail@tazj.in>2020-12-31T15·33+0000
commit8915cd6fba9a7d449efc13543d7d0db4fca9d0d5 (patch)
treec915b329ffc83c240c350d92bbb03c7ea3de237f /users/tazjin/rlox/src/interpreter.rs
parent3c979acdf367ea18ec2248bbe8e0befa15966bb4 (diff)
feat(tazjin/rlox): Implement block parsing r/2037
Change-Id: I1b7235ed71fa36120984a36f22cd564f59581352
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2303
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
Diffstat (limited to 'users/tazjin/rlox/src/interpreter.rs')
-rw-r--r--users/tazjin/rlox/src/interpreter.rs5
1 files changed, 3 insertions, 2 deletions
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(())