Thompson's Construction with rule-by-rule explanation
Supported: literals `a-z A-Z 0-9`, union `|` or `+`, star `*`, parentheses `()`, epsilon `ε`.