Warning: session_start(): open(/var/lib/php/sessions/sess_843dmp8i4kd4ssr7nljvldus90, 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 L ai_ruleEngine2_rulesForInput_3(RuleEngine2 engine, S q) {
q = unnull(q);
new L l;
for (RuleEngine2.Rule rule : engine.rules) {
S cond = first(rule.in);
S tokenize = or(matchAny_firstGroup("tokenize with *", rule.comments), f javaTokNPunctuationWithBrackets);
LS tokI = (LS) callAndMake(tokenize, q);
LS tokC = (LS) callAndMake(tokenize, cond);
tokI = ai_applyWordSplitPattern1(tokC, tokI);
SS map = zipTwoListsToCIMap_strict_withoutEquals(tokC, tokI);
if (map == null) continue;
//print(map + " | " + cond + " | " + rule.vars);
final new RuleEngine2_MatchedRule matched;
matched.rule = rule;
matched.map = map;
matched.matchedLines.add(pair(tokC, tokI));
matched.tokenizationFunction = tokenize;
matched.remainingConditions = nullIfEmpty(map(dropFirst(rule.in), func(S s) -> S { matched.applyMappingTo(s) }));
Map qualities = ai_ruleEngine2_mappingQualities(rule);
for (S a, b : map) {
mapPut(matched.mappingQuality, a, qualities.get(pair(a, b)));
}
l.add(matched);
}
ret l;
}