The million dollar question is…
Should a construction which consists of a simple option like “ABBB” | “CBBB” have a parse table that compresses and merges the last sequence of states into common groups?
http://www.metawrap.com/tests/dot/test12.png
In the same way that the start sequence is merged in “ABCDEZ” | “ABCDEX” This testcase demonstrates a clear reason for having the terminating state objects.
http://www.metawrap.com/tests/dot/test13.png
How about something like “ABBB” | “CBB”
I must sleep and ponder on the practicality. It would result in a more compressed parse table.. but at what cost?