require_relative instead of require
nfa for empty and literal patterns
nfa for concatenate pattern