private String[] obtenerLimites(String exp) {
        String toks[] = separarPorComas(exp);
        if( toks==null ) {
            return null;
        }
        if (toks.length != 5) {
            error = true;
            strError.append("Error: Número incorrecto de parametros para la expresión \"(").append(exp).append(")\".\n");
            return null;
        }
        String varIndex = toks[0];
        int limInf, limSup, inc;
        String arg = toks[4];
        double value = evaluate(toks[1]);
        if (error) {
            return null;
        }
        if (isInteger(value)) {
            limInf = (int) (value);
        } else {
            error = true;
            strError.append("Error: El límite inicial ").append(toks[1])
                    .append(" para la expresión \"(").append(exp).append(")\" no corresponde a un valor entero.\n");
            return null;
        }
        value = evaluate(toks[2]);
        if (error) {
            return null;
        }
        if (isInteger(value)) {
            limSup = (int) (value);
        } else {
            error = true;
            strError.append("Error: El límite final ").append(toks[2])
                    .append(" para la expresión \"(").append(exp).append(")\" no corresponde a un valor entero.\n");
            return null;
        }
        value = evaluate(toks[3]);
        if (error) {
            return null;
        }
        if (isInteger(value)) {
            inc = (int) (value);
        } else {
            error = true;
            strError.append("Error: El incremento ").append(toks[3])
                    .append(" para la expresión \"(").append(exp).append(")\" no corresponde a un valor entero.\n");
            return null;
        }
        return new String[]{varIndex, String.valueOf(limInf), String.valueOf(limSup), String.valueOf(inc), arg};
    }