Warning: session_start(): open(/var/lib/php/sessions/sess_an0qibn1iem6re350dpmcmlhod, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
static Exp nlLogic_parseExpression(S s) {
L tok = javaTokPlusBrackets(s);
// a && b
PairS p = splitAtTokens_once(tok, ll("&", "", "&"));
if (p != null)
ret And(nlLogic_parseExpression(first(p)), nlLogic_parseExpression(second(p)));
// !a
if (eqGet(tok, 1, "!"))
ret ExpNot(nlLogic_parseExpression(join(dropFirst(2, tok))));
// function
if (l(tok) == 5 && isIdentifier(tok.get(1)) && isRoundBracketed(tok.get(3)))
ret Func(tok.get(1), nlLogic_parseExpression(deRoundBracket(tok.get(3))));
// a = b
LS l = splitAtTokens(tok, ll("="));
if (l(l) == 2)
ret Eq(nlLogic_parseExpression(first(l)), nlLogic_parseExpression(second(l)));
// default
ret Sentence2(l(tok) == 3 && isQuoted(tok.get(1)) ? unquote(second(tok)) : join(tok));
}