Converts a regular expression to an ε-NFA using Thompson's construction.
ab concat ·
a|b union ·
a* zero-or-more ·
a+ one-or-more ·
a? optional ·
() group ·
. any char ·
\* escape