@Override
    public Void visitar(NoRetorne no) throws ExcecaoVisitaASA {
      NoExpressao expressao = no.getExpressao();
      if (expressao != null) {
        saida.append("return ");
        if (no.temPai()) {

          if (no.getPai() instanceof NoDeclaracaoFuncao) {
            TipoDado tipoRetornoFuncao = ((NoDeclaracaoFuncao) no.getPai()).getTipoDado();
            if (expressao.getTipoResultante() == TipoDado.REAL
                && tipoRetornoFuncao == TipoDado.INTEIRO) {
              saida.append("(int)");
            }
          }
        } else {
          throw new IllegalStateException("retorne não tem pai!");
        }

        expressao.aceitar(this);
      } else {
        saida.append("return");
      }

      return null;
    }