Seol mar théacs é seo: An introduction to formal languages and automata