use alloc::vec::Vec;
use ellie_bytecode::assembler::{self, AssembleResult, PlatformAttributes};
use ellie_core::defs::ModuleMap;
use ellie_parser::utils::Module;
pub fn transpile_parsed_code(
module: Module,
platform_attributes: PlatformAttributes,
module_maps: Vec<ModuleMap>,
) -> AssembleResult {
let mut assembler = assembler::Assembler::new(module, platform_attributes);
assembler.assemble(module_maps)
}
#[macro_export]
macro_rules! transpileText {
($text:expr, $platform_attributes:expr, $module_maps:expr) => {{
use ellie_engine::{
ellie_bytecode::assembler,
ellie_core::defs::{ModuleMap},
ellie_parser::utils::Module,
};
let text = $text;
let module = ellie_parser::parseText!(text);
let result = ellie_engine::byteCode::transpile_parsed_code(module, $platform_attributes, $module_maps);
result
}};
}