Theory of Formal Languages, Automata, and Computation