Select Git revision
rtic_bare7.rs
Forked from
Per Lindgren / e7020e_2021
Source project has a limited visibility.
ast.rs 495 B
// AST
use nom_locate::LocatedSpan;
type Span<'a> = LocatedSpan<&'a str>;
#[derive(Debug, Clone, Copy, PartialEq)]
pub enum Op {
Eq,
Neq,
And,
Or,
Add,
Sub,
Mul,
Div,
Pow,
Not,
}
type SpanOp<'a> = (Span<'a>, Op);
#[derive(Debug, Clone, PartialEq)]
pub enum Expr {
Num(i32),
Par(Box<Expr>),
// Identifier
// Function application
BinOp(Op, Box<Expr>, Box<Expr>),
UnaryOp(Op, Box<Expr>),
}
type SpanExpr<'a> = (Span<'a>, Expr);