Libraryless. Click here for Pure Java version (3076L/20K/65K).
!752 static class Feedback { long date; int goodBadNotSure; // +1 (good) / -1 (bad) / 0 (not sure) S user; S comment; } static class Action { S input; S output; S algorithmMD5; long date; new L<Feedback> feedback; } static new L<Action> actionLog; p { load("actionLog"); } synchronized answer { if (match("parse answer function of *", s, m) || match("show answer function of *", s, m)) try { S botID = m.fsi(0); O bot = getBot(botID); S mainJava = getMainJava(bot); L<S> tok = javaTok(mainJava); int i = jfind(tok, "String answer(String"); if (i < 0) ret "No answer function found..."; i = leftScanModifiers(tok, i); int j = findBeginningOfBlock(tok, i); j = findEndOfBlock(tok, j); S func = join(tok.subList(i, j)); boolean fullParse = matchStart("parse", s); S answer = func; if (fullParse) { L<S> lines = toLines(answer); for (i = 0; i < l(lines); i++) { S line = lines.get(i); boolean ok = false; pcall { ok = jparse(line, "statement") != null; } lines.set(i, (ok ? "STA" : "???") + " " + line); } answer = fromLines(lines); } answer = slackSnippet(answer); O parsed = null; pcall { parsed = jparse(func, "method"); } answer = (parsed != null ? "parses." : "does not parse.") + "\n" + answer; ret answer; } catch (Throwable e) { ret exceptionToUser(e); } }
download show line numbers debug dex old transpilations
Travelled to 13 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt
No comments. add comment