Pretace
IntroductiOn
PART I Foundations
Chapter 1 MathematicaI Preliminaries
1.1 SetTheory
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
Exercises
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
Exercises
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
Exercises
Bibliographic Notes
Chapter 4 NormaI Forms for Context-Free Grammars
4.1 Grammar Transformations
4.2 Elimination ofλ-Rules
4.3 Elimination of Chin 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
Exercises
Bibliographic NOtes
Chapter 5 Finite AutGImata
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
Exercises
Bibliographic Notes
……
PART III Computability
PART IV Computational Complexity
PART V Deterministic Parsing
Appendix
Bibliography
Subject Index