pub use cond::Cond; pub use flatten::Flatten; pub use flatten::lower; pub use op::HLOp; pub use op::Op; use crate::data::literal::RoutineName; mod op; mod cond; mod flatten; /// A higher-level instruction #[derive(Debug, Clone, Eq, PartialEq)] pub struct Instr { pub op: HLOp, pub branches: Option)>>, } /// A routine pub struct Routine { pub name: RoutineName, pub body: Vec, }