In Chapter 2, we discussed grammars as a means of defining languages. In Chapter 1, we mentioned that it seems unreasonable to think that machines with an infinite set of states can be physically realized. In this chapter, we explore the class of languages that can be accepted with finite-state machines, the class of regular languages. We study several ways of defining regular languages (right-linear grammars, transition graphs, regular expressions, and finite-state machines) and show their equivalence. For reasons that are beyond me, the terminology that has developed around these notions is slightly different. For example, one says that a language is “generated” by a grammar, “accepted” by a machine, and “denoted” by a regular expression. I will use all terms (as well as the term “defined”) to mean the same thing.
Unable to display preview. Download preview PDF.