? null : mathMatcher.group(3))));
} else {
mathMatcher = mathPattern.matcher(initAssignmentStr);
if (mathMatcher.matches())
shared.userVars.put(mathMatcher.group(1), Long.toString(
new Calculator(((mathMatcher.groupCount() > 1
&& mathMatcher.group(2) != null)
? mathMatcher.group(2)
: ""), shared.userVars).reduce(0, false)));
}
sqlExpandMode = null;
} catch (RuntimeException re) {
throw new BadSpecial(SqltoolRB.math_expr_fail.getString(re));
}
String[] values =
logicalExprStr.substring(1, logicalExprStr.length() - 1)
.replaceAll("!([a-zA-Z0-9*])", "! $1").
replaceAll("([a-zA-Z0-9*])!", "$1 !").split("\\s+", -1);
try {
while (eval(values)) {
Recursion origRecursed = recursed;
recursed = Recursion.FOR;
try {
scanpass(token.nestedBlock.dup());
} catch (ContinueException ce) {
String ceMessage = ce.getMessage();
if (ceMessage != null && !ceMessage.equals("for"))
throw ce;
} finally {
recursed = origRecursed;
}
try {
Matcher mathMatcher =
mathAsgnPattern.matcher(iterableAssignmentStr);
if (mathMatcher.matches()) {
shared.userVars.put(
mathMatcher.group(1), Long.toString(
Calculator.reassignValue(
mathMatcher.group(1),
shared.userVars, mathMatcher.group(2),
(mathMatcher.groupCount() < 3)
? null : mathMatcher.group(3))));
} else {
mathMatcher =
mathPattern.matcher(iterableAssignmentStr);
if (mathMatcher.matches())
shared.userVars.put(
mathMatcher.group(1), Long.toString(
new Calculator(
((mathMatcher.groupCount() > 1
&& mathMatcher.group(2) != null)
? mathMatcher.group(2)
: ""),
shared.userVars).reduce(0, false)));