protected void parseLet() { let = new LinkedHashMap<String, Object>(); boolean stop = false; while (!stop) { // PARSE THE KEY final String letName = parserNextWord(false); parserOptionalKeyword("="); parserNextWord(false, " =><,\r\n", true); // PARSE THE VALUE String letValueAsString = parserGetLastWord(); final Object letValue; // TRY TO PARSE AS FUNCTION final Object func = OSQLHelper.getFunction(parsedTarget, letValueAsString); if (func != null) letValue = func; else if (letValueAsString.startsWith("(")) { letValue = new OSQLSynchQuery<Object>( letValueAsString.substring(1, letValueAsString.length() - 1)); } else letValue = letValueAsString; let.put(letName, letValue); stop = parserGetLastSeparator() == ' '; } }