Theory of Finite Automata With an Introduction to Formal Languages