// changes original static T3 ai_fixTriple(T3 t) { if (t == null) ret t; t.a = ai_fix(t.a); t.b = ai_fix(t.b); t.c = ai_fix(t.c); // adverbs at end of A part L tok = javaTokC(t.a); S s = last(tok); while (l(tok) > 1 && (isAdverb(s) || eqicOneOf(s, "can", "should", "rather", "will"))) { tok = javaTokC(t.a = trim(dropLastJavaToken(t.a))); t.b = s + " " + t.b; s = last(tok); } // adverbs at beginning of A part s = first(tok); while (l(tok) > 1 && isAdverb(s)) { tok = javaTokC(t.a = trim(dropFirstJavaToken(t.a))); t.b = s + " " + t.b; s = first(tok); } if (l(tok) > 1 && eqicOneOf(first(tok), "why", "today")) { t.a = trim(dropFirstJavaToken(t.a)); t.b = first(tok) + " " + t.b; } // adverbs at end of C part tok = javaTokC(t.c); s = last(tok); while (l(tok) > 1 && (isAdverb(s) || eqicOneOf(s, "today"))) { t.c = trim(dropLastJavaToken(t.c)); t.b = s + " " + t.b; tok = javaTokC(t.c); s = last(tok); } if (empty(t.c)) t.c = "."; ret t; }