cca8c7cda2df7f221bc3430ab8bfad2190572b98
I replaced the transition parameter for nfaState, replacing it with a single nfaState pointer. This is because any non-alternation state will only have one next state, so the map was just added complexity. I changed alternation processing - instead of having their own dedicated fields, they just use the new 'next' parameter, and another one called 'splitState'. I also changed the kleene state processing to remove the unecessary empty state in the right-side alternation (it actually messed up my matching).
Description
An NFA-based regex engine with a library and command-line tool.
Languages
Go
75.7%
Python
24.2%
Makefile
0.1%