Study of formal languages and their analysis, design and implementation tools such as formal grammars and automata.