diff options
Diffstat (limited to 'src/ast.rs')
-rw-r--r-- | src/ast.rs | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -35,6 +35,12 @@ impl<T> WithLocation<T> { pub struct Program(pub Box<WithLocation<Expression>>); #[derive(Debug)] +pub enum UnaryOp { + Pos, + Neg, +} + +#[derive(Debug)] pub enum BinOp { Add, Sub, @@ -45,6 +51,7 @@ pub enum BinOp { #[derive(Debug)] pub enum Expression { + UnaryOp(UnaryOp, Box<WithLocation<Expression>>), BinOp(BinOp, Box<WithLocation<Expression>>, Box<WithLocation<Expression>>), Number(u64), Nil, |