Languages and Machines: An Introduction to the Theory of Computer Science / Edition 3

Hardcover (Print)
Rent from
(Save 75%)
Est. Return Date: 07/24/2015
Used and New from Other Sellers
Used and New from Other Sellers
from $69.97
Usually ships in 1-2 business days
(Save 56%)
Other sellers (Hardcover)
  • All (26) from $69.97   
  • New (12) from $142.70   
  • Used (14) from $69.97   


The third edition of Languages and Machines: An Introduction to the Theory of Computer Science provides readers with a mathematically sound presentation of the theory of computer science. The theoretical concepts and associated mathematics are made accessible by a "learn as you go" approach that develops an intuitive understanding of the concepts through numerous examples and illustrations.

This revied edition of a mathematically sound presentaion of the theoretical aspects of computing includes step-by-step, unhurried proofs, worked-out examples that demonstrate theoretical concepts, and numerous diagrams and line drawings which highlight the underlying concepts.

Read More Show Less

Product Details

  • ISBN-13: 9780321322210
  • Publisher: Pearson
  • Publication date: 2/18/2005
  • Edition description: REV
  • Edition number: 3
  • Pages: 672
  • Sales rank: 552,946
  • Product dimensions: 6.34 (w) x 9.27 (h) x 1.33 (d)

Table of Contents


Part I: Foundations

Chapter 1: Mathematical Preliminaries

1.1 Set Theory

1.2 Cartesian Product, Relations, and Functions

1.3 Equivalence Relations

1.4 Countable and Uncountable Sets

1.5 Diagonalization and Self-Reference

1.6 Recursive Definitions

1.7 Mathematical Induction

1.8 Directed Graphs


Bibliographic Notes

Chapter 2: Languages

2.1 Strings and Languages

2.2 Finite Specification of Languages

2.3 Regular Sets and Expressions

2.4 Regular Expressions and Text Searching


Bibliographic Notes

Part II: Grammars, Automata, and Languages

Chapter 3: Context-Free Grammars

3.1 Context-Free Grammars and Languages

3.2 Examples of Grammars and Languages

3.3 Regular Grammars

3.4 Verifying Grammars

3.5 Leftmost Derivations and Ambiguity

3.6 Context-Free Grammars and Programming Language Definition


Bibliographic Notes

Chapter 4: Normal Forms for Context-Free Grammars

4.1 Grammar Transformations

4.2 Elimination of Rules

4.3 Elimination of Chain Rules

4.4 Useless Symbols

4.5 Chomsky Normal Form

4.6 The CYK Algorithm

4.7 Removal of Direct Left Recursion

4.8 Greibach Normal Form


Bibliographic Notes

Chapter 5: Finite Automata

5.1 A Finite-State Machine

5.2 Deterministic Finite Automata

5.3 State Diagrams and Examples

5.4 Nondeterministic Finite Automata

5.5 Transitions

5.6 Removing Nondeterminism

5.7 DFA Minimization


Bibliographic Notes

Chapter 6: Properties of Regular Languages

6.1 Finite-State Acceptance of Regular Languages

6.2 Expression Graphs

6.3 Regular Grammars and Finite Automata

6.4 Closure Properties of Regular Languages

6.5 A Nonregular Language

6.6 The Pumping Lemma for Regular Languages

6.7 The Myhill-Nerode Theorem


Bibliographic Notes

Chapter 7: Pushdown Automata and Context-Free Languages

7.1 Pushdown Automata

7.2 Variations on the PDA Theme

7.3 Acceptance of Context-Free Languages

7.4 The Pumping Lemma for Context-Free Languages

7.5 Closure Properties of Context-Free Languages


Bibliographic Notes

Part III: Computability

Chapter 8: Turing Machines

8.1 The Standard Turing Machine

8.2 Turing Machines as Language Acceptors

8.3 Alternative Acceptance Criteria

8.4 Multitrack Machines

8.5 Two-Way Tape Machines

8.6 Multitape Machines

8.7 Nondeterministic Turing Machines

8.8 Turing Machines as Language Enumerators


Bibliographic Notes

Chapter 9: Turing Computable Functions

9.1 Computation of Functions

9.2 Numeric Computation

9.3 Sequential Operation of Turing Machines

9.4 Composition of Functions

9.5 Uncomputable Functions

9.6 Toward a Programming Language


Bibliographic Notes

Chapter 10: The Chomsky Hierarchy

10.1 Unrestricted Grammars

10.2 Context-Sensitive Grammars

10.3 Linear-Bounded Automata

10.4 The Chomsky Hierarchy


Bibliographic Notes

Chapter 11: Decision Problems and the Church-Turing Thesis

11.1 Representation of Decision Problems

11.2 Decision Problems and Recursive Languages

11.3 Problem Reduction

11.4 The Church-Turing Thesis

11.5 A Universal Turing Machine


Bibliographic Notes

Chapter 12: Undecidability

12.1 The Halting Problem for Turing Machines

12.2 Problem Reduction and Undecidability

12.3 Additional Halting Problem Reductions

12.4 Rice’s Theorem

12.5 An Unsolvable Word Problem

12.6 The Post Correspondence Problem

12.7 Undecidable Problems in Context-Free Grammars


Bibliographic Notes

Chapter 13: Mu-Recursive Functions

13.1 Primitive Recursive Functions

13.2 Some Primitive Recursive Functions

13.3 Bounded Operators

13.4 Division Functions

13.5 G¨odel Numbering and Course-of-Values Recursion

13.6 Computable Partial Functions

13.7 Turing Computability and Mu-Recursive Functions

13.8 The Church-Turing Thesis Revisited


Bibliographic Notes

Part IV: Computational Complexity

Chapter 14: Time Complexity

14.1 Measurement of Complexity

14.2 Rates of Growth

14.3 Time Complexity of a Turing Machine

14.4 Complexity and Turing Machine Variations

14.5 Linear Speedup

14.6 Properties of Time Complexity of Languages

14.7 Simulation of Computer Computations


Bibliographic Notes

Chapter 15: P, NP, and Cook's Theorem

15.1 Time Complexity of Nondeterministic Turing Machines

15.2 The Classes P and NP

15.3 Problem Representation and Complexity

15.4 Decision Problems and Complexity Classes

15.5 The Hamiltonian Circuit Problem

15.6 Polynomial-Time Reduction

15.7 P = NP?

15.8 The Satisfiability Problem

15.9 Complexity Class Relations


Bibliographic Notes

Chapter 16: NP-Complete Problems

16.1 Reduction and NP-Complete Problems

16.2 The 3-Satisfiability Problem

16.3 Reductions from 3-Satisfiability

16.4 Reduction and Subproblems

16.5 Optimization Problems

16.6 Approximation Algorithms

16.7 Approximation Schemes


Bibliographic Notes

Chapter 17: Additional Complexity Classes

17.1 Derivative Complexity Classes

17.2 Space Complexity

17.3 Relations between Space and Time Complexity

17.3 P-Space, NP-Space, and Savitch’s Theorem

17.4 P-Space Completeness

17.5 An Intractable Problem


Bibliographic Notes

Part V: Deterministic Parsing

Chapter 18: Parsing: An Introduction

18.1 The Graph of a Grammar

18.2 A Top-Down Parser

18.3 Reductions and Bottom-Up Parsing

18.4 A Bottom-Up Parser

18.5 Parsing and Compiling


Bibliographic Notes

Chapter 19: LL(k) Grammars

19.1 Lookahead in Context-Free Grammars

19.2 FIRST, FOLLOW, and Lookahead Sets

19.3 Strong LL(k) Grammars

19.4 Construction of FIRSTk Sets

19.5 Construction of FOLLOWk Sets

19.6 A Strong LL(l) Grammar

19.7 A Strong LL(k) Parser

19.8 LL(k) Grammars


Bibliographic Notes

Chapter 20: LR(k) Grammars

20.1 LR(0) Contexts

20.2 An LR(0) Parser

20.3 The LR(0) Machine

20.4 Acceptance by the LR(0) Machine

20.5 LR(1) Grammars


Bibliographic Notes

Appendix I

Index of Notation

Appendix II

The Greek Alphabet

Appendix III

Table of ASCII Characters

Appendix IV

Backus-Naur Definition of Java


Subject Index

Read More Show Less

Customer Reviews

Average Rating 4.5
( 2 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing all of 2 Customer Reviews
  • Posted May 28, 2013

    I¿m loving McDonalds for fast food... MyDeals247 for the best de

    I’m loving McDonalds for fast food... MyDeals247 for the best deals;))

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted September 29, 2005

    emphasises the Turing machine

    [A review of the 3RD EDITION, 2005.] Sudkamp gives a formal and rigorous explanation of what constitutes a language. Where this is deliberately taken to include both natural (spoken) languages and programming languages. To do this, you should note that the treatment is necessarily non-trivial. It is not a lightweight book, conceptually. The book summarises decades of work in this field, that have attempted to reduce human languages to a form that could be 'understood' by a machine. So he explains the various techniques that have arisen. Like finite state machines (finite automata). Notably, he discusses what is a Turing machine. A universal computing engine, that all other computers can map to. Such a Turing machine might be deterministic or non-deterministic. You can learn very powerful unifying ideas. From the construct of a Turing machine, the book uses this to delve into problems that are NP complete or P complete. The implementation of a solution as steps to be done by a Turing machine are elegant, and show how such a machine, while an idealisation, can be used to give provable results.

    Was this review helpful? Yes  No   Report this review
Sort by: Showing all of 2 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)