static void ctxProcessAction(S body) { ctxProcessAction(javaTok(body)); } static void ctxProcessAction(L tok) { if (empty(tok)) ret; tok = ctxStringProcessing(tok); ctxSimplifyIfs(tok); if (empty(tok)) ret; if (jfind(tok, "agent.say(*);") == 1 && isQuoted(tok.get(9))) { ctxAppendOutput(unquoteCtx(tok.get(9))); ctxProcessAction(subList(tok, 14)); } else if (jmatch("jumpaway();", tok)) ctxContext().jumpaway = true; } else if (jfind(tok, "agent.openUrl(*);") == 1) { S url = ctxGetVar(tok.get(9)); ctxContext().urlsToUpen.add(url); ctxProcessAction(subList(tok, 14)); } else print("ctxProcessAction unknown: " + structForUser(join(tok))); }