//find the expression that corresponds to the question word func findExpr(nextQn *rx.BitSet, e []*RegEx) string { b := new(rx.BitSet) for i := 0; i < len(e); i++ { b.Set(e[i].Index) if b.Equals(nextQn) { return e[i].Rexpr } b.Clear(e[i].Index) } return "" }