// returns (function, isSplitRule) static Pair gazelle_parseInstruction(S s) { new Matches m; if "simplify with *" ret pairWithFalse((O) $1); else if "drop after word *" { fS word = $1; ret pairWithFalse((O) func(S s) { tok_dropStartingWithWord(word, s) }); } else if "group words *" { fS words = $1; ret pairWithFalse((O) func(S s) { tok_groupPhrase(s, words) }); } else if "split with *" { ret pairWithTrue((O) $1); } null; }