diff options
author | Vincent Ambo <mail@tazj.in> | 2020-12-31T15·05+0300 |
---|---|---|
committer | tazjin <mail@tazj.in> | 2020-12-31T15·33+0000 |
commit | 8915cd6fba9a7d449efc13543d7d0db4fca9d0d5 (patch) | |
tree | c915b329ffc83c240c350d92bbb03c7ea3de237f /users/tazjin/rlox/src/interpreter.rs | |
parent | 3c979acdf367ea18ec2248bbe8e0befa15966bb4 (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.rs | 5 |
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(()) |