use super::temp; #[derive(Clone,Debug)] pub enum BinOp { Plus, } #[derive(Clone,Debug)] pub enum Expression { Const(u64), Name(temp::TempLabel), Temp(temp::TempName), BinOp(BinOp, Box, Box), Memory(Box), Call(Box, Vec), Seq(Vec, Box), } #[derive(Clone,Debug)] pub enum Statement { Exp(Expression), MoveTemp(temp::TempName, Expression), MoveMem(Expression, Expression), Seq(Box, Box), Label(temp::TempLabel), }