use sexp::SourcePosition; use crate::asm::error::CrsnError; use crate::asm::instr::op::OpKind; use crate::asm::parse::arg_parser::TokenParser; use crate::module::{CrsnExtension, ParseRes}; pub mod defs; pub mod exec; pub mod parse; #[derive(Debug, Clone)] pub struct BuiltinOps; impl BuiltinOps { pub fn new() -> Box { Box::new(Self) } } impl CrsnExtension for BuiltinOps { fn name(&self) -> &'static str { "builtin" } fn parse_op<'a>(&self, pos: &SourcePosition, keyword: &str, args: TokenParser<'a>) -> Result, CrsnError> { parse::parse_op(pos, keyword, args) } }