#[macro_use] pub mod visit; pub mod block; pub mod error; pub mod ir; pub mod name; use crate::compile::name::NameStack; // * Desugar // * Collect names as symbols // * Create basic blocks pub struct Ctx { name_stack: NameStack, } impl Ctx { pub fn new() -> Self { Ctx { name_stack: NameStack::new(), } } pub fn name_stack(&self) -> &NameStack { &self.name_stack } pub fn name_stack_mut(&mut self) -> &mut NameStack { &mut self.name_stack } }