svoid dm_gazelle_wireStatementConditions() { for (T3<S> t : dm_gazelle_allRulesWithComment("in 2 = statement")) dm_gazelle_wireStatementConditions(/*assertGlobalID*/(t.c)); } svoid dm_gazelle_wireStatementConditions(S ruleID) pcall { PairS p = dm_textAndCommentForRule(ruleID); LS lines = tlft(p.a); new Matches m; LS comments = lines(p.b); bool change = false; for i over comments: { if (match("in * = statement", comments.get(i), m)) { int line = parseInt($1); S s = dropPrefixTrim("+", get(lines, line-1)); if (empty(s) || startsWith(s, "=>")) continue; // avoid any weird stuff S ruleID2 = dm_gazelle_findRuleForStatementCondition(s); if (ruleID2 == null) { print("No statement rule found for: " + s + ", making one"); ruleID2 = pairA(dm_gazelle_addRuleWithComment(s + "\n=> statement", "in = statement\n" + "made for rule " + ruleID + "\n" + p.b); } comments.set(i, "in " + line + " = statement " + ruleID2); set change; } } if (change) dm_gazelle_setRuleComments_verbose(ruleID, lines(comments)); }
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: | #1021748 |
Snippet name: | dm_gazelle_wireStatementConditions |
Eternal ID of this version: | #1021748/12 |
Text MD5: | 8be345a4b9d537be140d8b3a5ce7d1c8 |
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-04 13:00:48 |
Source code size: | 1130 bytes / 28 lines |
Pitched / IR pitched: | No / No |
Views / Downloads: | 327 / 378 |
Version history: | 11 change(s) |
Referenced in: | [show references] |