Warning: session_start(): open(/var/lib/php/sessions/sess_02f7ccc78qaheok5nk5mi3n92e, 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
scope ai_gazelle_analyzeStatementsForRule.
sclass #Data {
MultiSet statements;
Set possibleVars, usedVars, unusedVars,
varsUsedInGood, varsUsedInBad,
varsUsedInGoodOnly, varsUsedInBadOnly;
Set unclearVars; // used in good and bad mappings
MultiMap goodMappings, badMappings, // per var
alwaysGoodMappings, alwaysBadMappings;
L completeGoodMappings, completeBadMappings;
Map varScores;
}
static Data ai_gazelle_analyzeStatementsForRule(Collection l) {
Set possibleVars = asCISet(matchAny_firstGroups("possible variable *", l));
Set usedVars = asCISet(matchX_any_firstGroups("... variable * was used", l));
Set unusedVars = asCISet(listMinusSet(possibleVars, usedVars));
Set varsUsedInGood = asCISet(matchX_any_firstGroups("in a good mapping, variable * was used", l));
Set varsUsedInBad = asCISet(matchX_any_firstGroups("in a bad mapping, variable * was used", l));
Set unclearVars = setIntersection(varsUsedInGood, varsUsedInBad);
MultiMap goodMappings = uniquifyMultiMapValues(pairsToMultiMap(matchX_any_firstAndSecondGroups("in a good mapping, variable * was mapped to *", l)));
MultiMap badMappings = uniquifyMultiMapValues(pairsToMultiMap(matchX_any_firstAndSecondGroups("in a bad mapping, variable * was mapped to *", l)));
MultiMap alwaysGoodMappings = multiMapDiff(goodMappings, badMappings);
MultiMap alwaysBadMappings = multiMapDiff(badMappings, goodMappings);
L completeGoodMappings = cast map safeUnstruct(matchX_any_firstGroups("a good mapping is *", l));
L completeBadMappings = cast map safeUnstruct(matchX_any_firstGroups("a bad mapping is *", l));
ret nu(Data, +possibleVars, +usedVars, +unusedVars,
+varsUsedInGood, +varsUsedInBad, +unclearVars,
varsUsedInGoodOnly := setDiff(varsUsedInGood, varsUsedInBad),
varsUsedInBadOnly := setDiff(varsUsedInBad, varsUsedInGood),
+goodMappings, +badMappings,
+alwaysGoodMappings, +alwaysBadMappings,
+completeGoodMappings, +completeBadMappings);
}
end scope