From ad9f7e6a689c7fe42444cbe22ecdf1de8d092d5b Mon Sep 17 00:00:00 2001 From: Dominick Allen Date: Fri, 26 Jun 2020 21:12:16 -0500 Subject: Evaluate basic arithmetic. --- src/lib/parse.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/lib/parse.rs') diff --git a/src/lib/parse.rs b/src/lib/parse.rs index 8e9c785..047b374 100644 --- a/src/lib/parse.rs +++ b/src/lib/parse.rs @@ -1,7 +1,7 @@ use super::types::Type; use super::types::Number; use super::types::Op; -use super::types::SEXP; +use super::sexpr::SExpr; pub type MaybeToken = (Option>, usize); @@ -250,7 +250,7 @@ pub fn is_float(word: &str) -> MaybeToken { } } -pub fn parse(expr: &str) -> Result { +pub fn parse(expr: &str) -> Result { let mut tokenstream = TokenStream::default(expr); match tokenstream.peek() { Some(Ok(Token::LParen)) => { @@ -258,13 +258,13 @@ pub fn parse(expr: &str) -> Result { descend(&mut tokenstream) }, Some(Ok(Token::RParen)) => Err("Malformed expression".to_string()), - Some(Ok(Token::Value(x))) => Ok(SEXP::Atom(x)), + Some(Ok(Token::Value(x))) => Ok(SExpr::Atom(x)), Some(Err(f)) => Err(f), None => Err("Empty expression".to_string()) } } -pub fn descend(tokenstream: &mut TokenStream) -> Result { +pub fn descend(tokenstream: &mut TokenStream) -> Result { let mut sexp = Vec::new(); loop { let token = match tokenstream.next() { @@ -286,11 +286,11 @@ pub fn descend(tokenstream: &mut TokenStream) -> Result { break; }, Token::Value(atom) => { - sexp.push(SEXP::Atom(atom)); + sexp.push(SExpr::Atom(atom)); continue; } } } - Ok(SEXP::Sexpr(sexp)) + Ok(SExpr::Sexpr(sexp)) } -- cgit v1.2.3