use std::sync::Arc; use crate::asm::instr::Op; use crate::asm::instr::op::AsmModule; use crate::runtime::program::Program; pub mod data; pub mod error; pub mod instr; pub mod parse; pub mod patches; /// Parse a program from string and assemble a low level instruction sequence from it. pub fn assemble(source: &str, parsers: &[Box]) -> Result, error::Error> { let ops = parse::parse(source, parsers)?; Ok(Program::new(ops)) }