libslide 0.0.1

Library for slide, a static expression optimizer.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#[macro_export]
macro_rules! parse_expr {
    ($expr:expr) => {{
        use crate::grammar::*;
        use crate::{parse_expression, scan};

        let tokens = scan($expr).tokens;
        let (parsed, _) = parse_expression(tokens);
        match parsed {
            Stmt::Expr(expr) => Rc::new(expr),
            // TODO: see below
            _ => unreachable!(),
        }
    }};
}