Skip to main content Accessibility help
×
Hostname: page-component-7479d7b7d-fwgfc Total loading time: 0 Render date: 2024-07-10T21:20:06.033Z Has data issue: false hasContentIssue false

2 - Formal languages and automata theory

from PART ONE - INTRODUCTION

Published online by Cambridge University Press:  16 March 2017

Derek F. Holt
Affiliation:
University of Warwick
Sarah Rees
Affiliation:
University of Newcastle upon Tyne
Claas E. Röver
Affiliation:
National University of Ireland, Galway
Get access

Summary

In this chapter, we present some basic material from formal language theory, and we concentrate on those topics that arise and have been studied in connection with group theory. These include, for example, real-time and indexed languages, and 2-variable automata, which do not generally merit extensive coverage in textbooks on the subject.

Although we do not assume any prior knowledge of the subject from the reader, some familiarity with the basics would be helpful. As a general reference, we recommend the first edition of the standard text by Hopcroft and Ullman [159]. The third edition of this book (co-authored also by Motwani) [158] serves as a more leisurely but less complete introduction to the subject. For many of the basic results of formal language theory, we provide only sketch proofs here (which we nevertheless hope are enough to allow the reader to fill in the details) and refer to [159] or [158] for full details and further discussion.

Languages, automata and grammars

Let A be a finite alphabet. Recall from 1.1.2 that A* denotes the set of all strings or words over A, including the empty word. We call a subset of A* a language over A. We shall sometimes study families of languages; the languages in a family are not normally all defined over the same alphabet.

A language over an alphabet A may be defined in various ways, in particular by an automaton that accepts it, or by a grammar that generates it. We use the term automaton in a general sense that encompasses the range from finite state automata to Turing machines. We use the term grammar where other authors use the terms Type 0 grammar, phrase structure, semi-Thue system or unrestricted grammar.

Automata We consider an automaton M over an alphabet A to be a device (with a finite description) that reads input strings over A from a tape, and accepts some of them; the language of M, which is denoted by L(M), consists of those strings that are accepted. In this chapter we describe many of the different types of automata that can be defined, of varying complexity, ranging from the most basic finite state automata to the most general types of Turing machines, operating either deterministically or non-deterministically, and we examine properties of their associated languages.

Type
Chapter
Information
Publisher: Cambridge University Press
Print publication year: 2017

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

Save book to Kindle

To save this book to your Kindle, first ensure coreplatform@cambridge.org is added to your Approved Personal Document E-mail List under your Personal Document Settings on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part of your Kindle email address below. Find out more about saving to your Kindle.

Note you can select to save to either the @free.kindle.com or @kindle.com variations. ‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi. ‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.

Find out more about the Kindle Personal Document Service.

Available formats
×

Save book to Dropbox

To save content items to your account, please confirm that you agree to abide by our usage policies. If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account. Find out more about saving content to Dropbox.

Available formats
×

Save book to Google Drive

To save content items to your account, please confirm that you agree to abide by our usage policies. If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account. Find out more about saving content to Google Drive.

Available formats
×