bean_script/lib.rs
1use error::Error;
2use modules::CustomModule;
3use util::MutRc;
4
5pub mod data;
6pub mod error;
7pub mod logger;
8pub mod modules;
9pub mod scope;
10pub mod util;
11
12pub mod evaluator;
13pub mod lexer;
14pub mod parser;
15
16pub fn interpret(code: String, program_scope: MutRc<CustomModule>) -> Result<(), Error> {
17 let tokens = lexer::tokenize(code);
18 let tree = parser::parse(tokens)?;
19 evaluator::evaluate(&tree, program_scope)?;
20 Ok(())
21}