std::shared_ptr<cs6300::BasicBlock> cs6300::MultExpression::emit() const { if(isConst()) return LiteralExpression::emit(value(), getLabel()); return emitBinaryOp( ThreeAddressInstruction::Multiply, getLabel(), m_lhs, m_rhs); }
std::shared_ptr<cs6300::BasicBlock> cs6300::AdditionExpression::emit() const { return emitBinaryOp(ThreeAddressInstruction::Add, getLabel(), m_lhs, m_rhs); }