Text this: An introduction to formal languages and automata