enum Token {
Lit(i32),
Var(i32),
Minus,
}
type Span = ();
enum Expr {
Lit(i32),
Var(i32),
Negate(Box<Expr>),
}
#[allow(unused_imports)]
use self::Token::*;
plex::parser! {
fn parse_(Token, Span);
expr: Expr {
Var(i) => Expr::Var(i),
Lit(i) => Expr::Lit(i),
Minus Lit(i) => Expr::Lit(-i),
Minus expr[e] => Expr::Negate(Box::new(e)),
}
}
fn main() {}