use super::temp; #[derive(Debug)] pub enum Binop { Plus, } #[derive(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(Debug)] pub enum Statement { Exp(Expression), MoveTemp(temp::TempName, Expression), MoveMem(Expression, Expression), Seq(Box, Box), Label(temp::TempLabel), }