An Introduction to Formal Language Theory that Integrates Experimentation and Proof by STOUGHTON (2005)

Since the 1930s, the subject of formal language theory, also known as au- tomata theory, has been developed by computer scientists, linguists and mathematicians. (Formal) Languages are set of strings over finite sets of symbols, called alphabets, and various ways of describing such languages have been developed and studied, including regular expressions (which “generate” languages), finite automata (which “accept” languages), grammars (which “generate” languages) and Turing machines (which “accept” languages).

title
cover

For example, the set of identifiers of a given programming language is a formal language—one that can be described by a regular expression or a finite automaton. And, the set of all strings of tokens that are generated by a programming language’s grammar is another example of a formal language. Because of its many applications to computer science, e.g., to compiler construction, most computer science programs offer both undergraduate and graduate courses in this subject. Many of the results of formal language theory are proved constructively, using algorithms that are useful in practice. In typical courses on formal language theory, students apply these algorithms to toy examples by hand, and learn how they are used in applications. But they are not able to experiment with them on a larger scale.

Download

Ebook


See also