Automata theory and formal languages (Second edition)