I merged that patch into the grep trunk and am closing this bug report. While merging, I removed one part of the patch that had a small but measurable performance degradation, namely, the introduction of struct dfatab. I found some other minor simplifications and threw them in. There seems to be no significant change in CPU performance. The patch's causes the dfa module's text size to shrink by 8% on my platform (x86-64 Fedora 20), which I suppose is a small win, but the main point of the patch is simplifying the source. I'm attaching what I installed, broken into 12 little patches to ease review.