Files
Glint/src/lib.rs
2026-06-02 13:03:23 +03:00

26 lines
690 B
Rust

pub mod ast;
pub mod compiler;
pub mod opcodes;
pub mod parser;
pub mod style_parser;
pub use ast::{Directive, ModuleSoA, NodeId, Value};
pub use compiler::Compiler;
pub use parser::Parser;
pub use style_parser::StyleParser;
pub fn compile_project(gltm_src: &str, glts_src: &str) -> Result<Vec<u8>, String> {
let mut module = ModuleSoA::new();
let mut style_parser = StyleParser::new(glts_src, &mut module);
style_parser.parse_all()?;
let mut gltm_parser = Parser::with_module(gltm_src, module);
gltm_parser.parse_all()?;
let module = gltm_parser.module;
let compiler = Compiler::new(&module);
Ok(compiler.compile(&module.hierarchy))
}