sml_lang/lib.rs
1pub mod lexer;
2pub mod validator;
3pub mod codegen;
4pub mod error;
5
6pub use error::{Error, ErrorType};
7pub use lexer::Token;
8
9/// Main SML pipeline entrypoint
10pub fn compile(input: String) -> Result<String, Error> {
11 let tokens = lexer::generate_tokens(input)?;
12 validator::validate(&tokens)?;
13 let output = codegen::generate_code(&tokens);
14 Ok(output)
15}