// rules are t3(text, comment, ruleID) static GazelleEvalContext gazelle_stdEvalContext_v2(L> rules, O... _) { long startTime = sysNow(); new GazelleEvalContext ctx; ctx.engine = new RuleEngine2; ctx.engine.addRules2(rules); gazelle_changeInTypesForRulesWithMultipleInputs(ctx.engine); // gather data for predictor MultiSet statements = dm_gazelle_statementsFromAppliedRules_multiSet(); ctx.dataByRule = new Map; Map> statementsByRule = ai_gazelle_indexStatementsByRule_multiSet(statements); for (S ruleID, MultiSet statements2 : statementsByRule) { ctx.dataByRule.put(ruleID, ai_gazelle_analyzeStatementsForRule_multiSet(statements2)); } ctx.predictor = dm_gazelle_standardPredictor(_); done2(startTime, "Making engine with " + n2(rules, "rule")); ret ctx; }