svoid dm_gazelle_matchStep_condition(GazelleTree t, O... _) {
if (t.rule() == null) ret;
bool debug = boolPar debug(_) || boolPar debugConditions(_);
GRuleLine next = get(t.rule().insWithType, t.mr.iCond);
if (debug) print("matchStep_condition: " + getString type(next));
if (next == null || !eq(next.type, "condition")) ret;
bool satisfied = false;
//S cond = next.text;
S cond = t.mr.applyMappingTo(next);
if (gazelle_isEmbeddedEval(cond)) {
if (debug) print("Embedded eval: " + cond);
satisfied = eqic(dm_processEmbeddedSafeEvals(cond), "true");
} else {
GazelleEvalContext subCtx = cast callF(requiredPar contextMaker(_));
subCtx.engine.dropRulesWhere(r -> neq(r.purpose, "condition to eval"));
L<GazelleTree> l = dm_gazelle_reasonAboutChatInput_v2(null, cond, paramsPlus(paramsMinus(_, 'acceptablePurposes), ctx := subCtx));
gazelle_processSafeEvalsInTree(l);
if (debug) {
print("Sub-Tree for condition " + cond + ":");
printIndentLines(l);
}
for (GazelleTree tree : l)
if (eqic(tree.line, "true"))
break with satisfied = true;
else if (eqic(tree.line, "false"))
break;
}
if (debug) print("satisfied=" + satisfied);
if (!satisfied) ret;
t.mr.iCond++;
gazelle_addPredictionToTreeNode(t);
t.mr.remainingConditions = dropFirst(t.mr.remainingConditions);
t.mr.remainingConditionsWithType = dropFirst(t.mr.remainingConditionsWithType);
}Began life as a copy of #1022400
download show line numbers debug dex old transpilations
Travelled to 8 computer(s): bhatertpkbcr, cfunsshuasjs, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tvejysmllsmz, vouqrxazstgt, whxojlpjdney
No comments. add comment
| Snippet ID: | #1022407 |
| Snippet name: | dm_gazelle_matchStep_condition |
| Eternal ID of this version: | #1022407/14 |
| Text MD5: | fded3dc288f675e3052db4faa38daf37 |
| Author: | stefan |
| Category: | javax / a.i. |
| Type: | JavaX fragment (include) |
| Public (visible to everyone): | Yes |
| Archived (hidden from active list): | No |
| Created/modified: | 2019-03-17 16:42:26 |
| Source code size: | 1508 bytes / 40 lines |
| Pitched / IR pitched: | No / No |
| Views / Downloads: | 744 / 760 |
| Version history: | 13 change(s) |
| Referenced in: | #1006654 - Standard functions list 2 (LIVE, continuation of #761) |