AS - Só falta verificação de tipos nas expressões!

Dá uma olhada nos métodos: outAValorExp e outAMaisExp.