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

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

by Thomas A. Sudkamp


View All Available Formats & Editions
Current price is , Original price is $169.6. You
Select a Purchase Option (REV)
  • purchase options
    $40.06 $169.60 Save 76% Current price is $40.06, Original price is $169.6. You Save 76.37971698113208%.
    • Free return shipping at the end of the rental period details
    • Textbook Rentals in 3 Easy Steps  details
    Note: Access code and/or supplemental material are not guaranteed to be included with textbook rental or used textbook.
  • purchase options
    $87.78 $169.60 Save 48% Current price is $87.78, Original price is $169.6. You Save 48%.
    Note: Access code and/or supplemental material are not guaranteed to be included with textbook rental or used textbook.


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

No special mathematical prerequisites are assumed; 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. Languages & Machines examines the languages of the Chomsky hierarchy, the grammars that generate them, and the finite automata that accept them. Sections on the Church-Turing thesis and computability theory further examine the development of abstract machines. Computational complexity and NP-completeness are introduced by analyzing the computations of Turing machines. Parsing with LL and LR grammars is included to emphasize language definition and to provide the groundwork for the study of compiler design.


  • A winning writing style, Languages and Machines is becoming recognized as an instructor's boon
  • Effective examples that convey challenging and complex theoretical concepts
  • Numerous diagrams illustrating pictorially the underlying concepts
  • Step-by-step, unhurried proofs
  • A "learn as you go" approach that develops mathematical sophistication

Features New to this Edition:

  • DFA minimization
  • Rice's Theorem
  • Increased coverage of computational complexity
  • Additional examples throughout
  • Over 150 additional exercises

** Instructor's materials are available from your sales rep. If you do not know your local sales representative, please call 1-800-552-2499 for assistance, or use the Addison Wesley Longman rep-locator at

Product Details

ISBN-13: 2900321322219
Publisher: Pearson
Publication date: 02/18/2005
Edition description: REV
Pages: 672
Product dimensions: 6.00(w) x 1.25(h) x 9.00(d)

Table of Contents



1. Mathematical Preliminaries.
Set Theory.
Cartesian Product, Relations, and Functions.
Equivalence Relations.
Countable and Uncountable Sets.
Recursive Definitions.
Mathematical Induction.
Directed Graphs.
Bibliographic Notes.

2. Languages.
Strings and Languages.
Finite Specification of Languages.
Regular Sets and Expressions.
Bibliographic Notes.


3. Context-Free Grammars.
Context-Free Grammars and Languages.
Examples of Grammars and Languages.
Regular Grammars.
Grammars and Languages Revisited.
A Context-Free Grammar for Pascal.
Arithmetic Expressions.
Bibliographic Notes.

4. Parsing: An Introduction.
Leftmost Derivations and Ambiguity.
The Graph of a Grammar.
A Breadth-First Top-Down Parser.
A Depth-First Top-Down Parser.
Bottom-Up Parsing.
A Shift-Reduce Parser.
Bibliographic Notes.

5. Normal Forms.
Elimination of Lambda Rules.
Elimination of Chain Rules.
Useless Symbols.
Chomsky Normal Form.
Removal of Direct Left Recursion.
Greibach Normal Form.
Bibliographic Notes.


6. Finite Automata.
A Finite-State Machine.
Deterministic Finite Automata.
State Diagrams and Examples.
Nondeterministic Finite Automata.
Lambda Transitions.
Removing Nondeterminism.
DFA Minimization.
Bibliographic Notes.

7. Regular Languages and Sets.
Finite Automata and Regular Sets.
Expression Graphs.
Regular Grammars & Finite Automata.
Closure Properties of Regular Languages.
A Nonregular Language.
The Pumping Lemma for Regular Languages.
Myhill-Nerode Theorem.
Bibliographic Notes.

8. Pushdown Automata and Context-Free Languages.
Variations on the PDA Theme.
Pushdown Automaton and Context-Free Languages.
The Pumping Lemma for Context-Free Languages.
Closure Properties of Context-Free Languages.
A Two-Stack Automation.
Bibliographic Notes.

9. Turing Machines.
The Standard Turing Machine.
Turing Machines as Language Acceptors.
Alternate Acceptance Criteria.
Multitrack Machines.
Two-Way Tape.
Multitape Machines.
Nondeterministic Turing Machines.
Turing Machines as Language Enumerators.
Bibliographic Notes.

10. The Chomsky Hierarchy.
Unrestricted Grammars.
Context-Sensitive Grammars.
Linear-Bounded Automata.
The Chomsky Hierarchy.
Bibliographic Notes.


11. Decidability.
Decision Problems.
The Church-Turing Thesis.
The Halting Problem for Turing Machines.
A Universal Machine.
Rice's Theorem.
An Unsolvable Word Problem.
The Post Correspondence Problem.
Undecidable Problems in Context- Free Grammars.
Bibliographic Notes.

12. Numeric Computation.
Computation of Functions.
Sequential Operation of Turing Machines.
Composition of Functions.
Toward a Programming Languages.
Bibliographic Notes.

13. Mu-Recursive Functions.
Primitive Recursive Functions.
Some Primitive Recursive Functions.
Bounded Operators.
Division Functions.
Gödel Numbering and Course-of-Values Recursion.
Computable Partial Functions.
Turing Computability and Mu-Recursive Functions.
The Church-Turing Thesis Revisited.
Bibliographic Notes.


14. Computational Complexity.
Time Complexity of a Turing Machine.
Linear Speed-Up.
Rates of Growth.
Complexity and Turing Machine Variations.
Variations of Time Complexity.
Nondeterministic Complexity.
Space Complexity.
Bibliographic Notes.

15. Tractability and NP-Complete Problems.
Tractable and Intractable Decision Problems.
The Class NP.
The Satisfiability Problem.
Additional NP-Complete Problems.
Derivative Complexity Classes.
Bibliographic Notes.


16. LL (k) Grammars.
Lookahead in Context-Free Grammars.
FIRST, FOLLOW, and Lookahead Sets.
Strong LL (k) Grammars.
Construction of FIRSTk Sets.
Construction of FOLLOWk Sets.
A Strong LL(1) Grammar.
A Strong LL(k) Parser.
LL(k) Grammars.
Bibliographic Notes.

17. LR(k) Grammars.
LR(0) Contexts.
LR(0) Parser.
LR(0) Machine.
Acceptance by the LR(0) Machine.
Acceptance by the LR(p) Machine.
LR(1) Grammars.
Bibliographic Notes.

Customer Reviews

Most Helpful Customer Reviews

See All Customer Reviews

Languages and Machines: An Introduction to the Theory of Computer Science 4 out of 5 based on 0 ratings. 1 reviews.
Guest More than 1 year ago
[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.