Skip to main content

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}