Bram, I read several articles on possible NFA implementations ( took some time to understand ). But I think implementing an NFA based approach is quite possible ( Russ Cox has provided a sample implementation in his article ). But I'm having a hard time understanding the existing approach taken :'( .
The current implementation also seem to have a bypass mechanism, the vim_regcomp() method is setting variables Regstart and reganch so that obvious non matching cases can be avoided. I was thinking if this approach can be used to switch between old implementation and the new one. Is this possible ? - Asiri