1#![doc = include_str!("../README.md")]
2use std::collections::HashMap;
3
4pub mod error;
5pub mod value;
6pub mod target;
7pub mod lasm_function;
8pub mod compiler;
9pub mod ast;
10pub mod lexer;
11pub mod parser;
12
13pub use error::{LasmError, Location};
14pub use value::Value;
15pub use target::Target;
16pub use lasm_function::LasmFunction;
17
18
19pub fn compile(
28 lasm: &str,
29 target: Target
30) -> Result<LasmFunction, LasmError> {
31 compiler::compile(lasm, target)
32}
33
34pub fn call(
43 function: &LasmFunction,
44 variables: &HashMap<String, Value>
45) -> Result<(i32, HashMap<String, Value>), LasmError> {
46 function.call(variables)
47}