use crate::math::types::Expression; #[cfg(test)] mod tests; mod display; mod eval; mod functions; mod lexer; mod math_constants; mod parser; pub mod types; pub fn parse(source: &str) -> Expression { let lexer = lexer::from(source); let mut parser = parser::from(lexer.collect()); parser.parse() } pub fn eval(expr: Expression) -> Expression { eval::eval_expr(expr) }