The theory of formal languages constitutes a stem of the field of theoretical computer science. The language theory tools such as finite automata and regular expressions are used in the design and construction of important kinds of software. The theory of automata is the study of abstract computing devices that had all the capabilities of today’s computers, at least as far as what they compute. The simplest and most fundamental computing models with applications in pattern matching, lexical analysis, communication protocols, hardware circuit minimization and XML processing is the finite state automata. The finite state automata are also used to recognize languages, called regular languages.