@Override
    public Tipo validarSemantica() throws Exception {
        Tipo izq,der;
        izq=izquierdo.validarSemantica();
        der=derecho.validarSemantica();
        if (izq instanceof TipoInt){
            if (der instanceof TipoInt || der instanceof TipoFloat ){
                return izq;
            }
            else{
                throw new Exception("Error Semantico no se puede dividir un Tipo Int con un Tipo "+ der.toString());
            }
        }
        else if(izq instanceof TipoFloat){
            if(der instanceof TipoFloat || der instanceof TipoInt){
                return izq;
            }
            else{
                throw new Exception("Error Semantico no se puede dividir un Tipo Float con un Tipo "+ der.toString());
            }
        }
        else{
            throw new Exception("Error Semantico no se puede dividir Tipo "+ izq.toString()+ " con Tipo "+ der.toString());
        }
     }