Text this: Automata and Formal Languages : An Introduction