//! In this example we build an [S-expression](https://en.wikipedia.org/wiki/S-expression) //! parser and tiny [lisp](https://en.wikipedia.org/wiki/Lisp_(programming_language)) interpreter. //! Lisp is a simple type of language made up of Atoms and Lists, forming easily parsable trees. #![cfg(feature = "alloc")] mod parser; fn main() { let expression_1 = "((if (= (+ 3 (/ 9 3)) (* 2 3)) * /) 456 123)"; println!( "\"{}\"\nevaled gives us: {:?}", expression_1, parser::eval_from_str(expression_1) ); }