text: public static Calendar parseDate(String strVal) throws EvaluationException {String[] parts = Pattern.compile("/").split(strVal);if (parts.length != 3) {throw new EvaluationException(ErrorEval.VALUE_INVALID);}String part2 = parts[2];int spacePos = part2.indexOf(' ');if (spacePos > 0) {part2 = part2.substring(0, spacePos);}int f0;int f1;int f2;try {f0 = Integer.parseInt(parts[0]);f1 = Integer.parseInt(parts[1]);f2 = Integer.parseInt(part2);} catch (NumberFormatException e) {throw new EvaluationException(ErrorEval.VALUE_INVALID);}if (f0 < 0 || f1 < 0 || f2 < 0 || (f0 > 12 && f1 > 12 && f2 > 12)) {throw new EvaluationException(ErrorEval.VALUE_INVALID);}if (f0 >= 1900 && f0 < 9999) {return makeDate(f0, f1, f2);}throw new RuntimeException("Unable to determine date format for text '" + strVal + "'");}