Text this: Semigroups and formal languages