FORMAL LANGUAGES AND AUTOMATA THEORY