pub mod ast;
pub mod compiler;
pub mod error;
pub mod generator;
pub mod lexer;
pub mod lexer_utf8;
pub mod parser;
pub mod semantic;
pub mod test_lexer;
pub mod types;
use error::Result;
pub struct Compiler {
optimize: bool,
runtime: bool,
}
impl Compiler {
pub fn new() -> Self {
Self {
optimize: false,
runtime: false,
}
}
pub fn with_optimization(mut self, optimize: bool) -> Self {
self.optimize = optimize;
self
}
pub fn with_runtime(mut self, runtime: bool) -> Self {
self.runtime = runtime;
self
}
pub fn compile(&mut self, _input: &std::path::Path, _output: &std::path::Path) -> Result<()> {
todo!("Implement compilation pipeline")
}
}
impl Default for Compiler {
fn default() -> Self {
Self::new()
}
}