
Formal Languages and Compilation
by Reghizzi, Stefano Crespi-
This Item Qualifies for Free Shipping!*
*Excludes marketplace orders.
Rent Textbook
Rent Digital
New Textbook
We're Sorry
Sold Out
Used Textbook
We're Sorry
Sold Out
How Marketplace Works:
- This item is offered by an independent seller and not shipped from our warehouse
- Item details like edition and cover design may differ from our description; see seller's comments before ordering.
- Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
- Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
- Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.
Summary
Author Biography
Table of Contents
Introduction | p. 1 |
Intended Scope and Audience | p. 1 |
Compiler Parts and Corresponding Concepts | p. 2 |
Syntax | p. 5 |
Introduction | p. 5 |
Artificial and Formal Languages | p. 5 |
Language Types | p. 6 |
Chapter Outline | p. 7 |
Formal Language Theory | p. 8 |
Alphabet and Language | p. 8 |
Language Operations | p. 11 |
Set Operations | p. 13 |
Star and Cross | p. 14 |
Quotient | p. 17 |
Regular Expressions and Languages | p. 17 |
Definition of Regular Expression | p. 18 |
Derivation and Language | p. 20 |
Other Operators | p. 23 |
Closure Properties of REG Family | p. 24 |
Linguistic Abstraction | p. 25 |
Abstract and Concrete Lists | p. 26 |
Context-Free Generative Grammars | p. 30 |
Limits of Regular Languages | p. 30 |
Introduction to Context-Free Grammars | p. 31 |
Conventional Grammar Representations | p. 33 |
Derivation and Language Generation | p. 35 |
Erroneous Grammars and Useless Rules | p. 37 |
Recursion and Language Infinity | p. 39 |
Syntax Trees and Canonical Derivations | p. 40 |
Parenthesis Languages | p. 44 |
Regular Composition of Context-Free Languages | p. 46 |
Ambiguity | p. 47 |
Catalogue of Ambiguous Forms and Remedies | p. 49 |
Weak and Structural Equivalence | p. 57 |
Grammar Transformations and Normal Forms | p. 59 |
Grammars of Regular Languages | p. 67 |
From Regular Expressions to Context-Free Grammars | p. 67 |
Linear Grammars | p. 69 |
Linear Language Equations | p. 71 |
Comparison of Regular and Context-Free Languages | p. 73 |
Limits of Context-Free Languages | p. 76 |
Closure Properties of REG and CF | p. 78 |
Alphabetic Transformations | p. 80 |
Grammars with Regular Expressions | p. 83 |
More General Grammars and Language Families | p. 87 |
Chomsky Classification | p. 87 |
Finite Automata as Regular Language Recognizers | p. 93 |
Introduction | p. 93 |
Recognition Algorithms and Automata | p. 94 |
A General Automation | p. 95 |
Introduction to Finite Automata | p. 98 |
Deterministic Finite Automata | p. 100 |
Error State and Total Automata | p. 101 |
Clean Automata | p. 101 |
Minimal Automata | p. 103 |
From Automata to Grammars | p. 106 |
Nondeterministic Automata | p. 108 |
Motivation of Nondeterminism | p. 108 |
Nondeterministic Recognizers | p. 110 |
Automata with Spontaneous Moves | p. 112 |
Correspondence between Automata and Grammars | p. 114 |
Ambiguity of Automata | p. 115 |
Left-Linear Grammars and Automata | p. 116 |
Directly from Automata to Regular Expressions: BMC Method | p. 117 |
Elimination of Nondeterminism | p. 119 |
Construction of Accessible Subsets | p. 121 |
From Regular Expression to Recognizer | p. 124 |
Thompson Structural Method | p. 124 |
Algorithm of Glushkov, McNaughton and Yamada | p. 126 |
Deterministic Recognizer by Berry and Sethi Algorithm | p. 134 |
Regular Expressions with Complement and Intersection | p. 137 |
Product of Automata | p. 138 |
Summary of Relations between Regular Languages, Grammars, and Automata | p. 143 |
Pushdown Automata and Top-down Parsing | p. 147 |
Introduction | p. 147 |
Pushdown Automaton | p. 148 |
From Grammar to Pushdown Automaton | p. 149 |
Definition of Pushdown Automaton | p. 152 |
One Family for Context-Free Languages and Pushdown Automata | p. 157 |
Intersection of Regular and Context-Free Languages | p. 160 |
Deterministic Pushdown Automata and Languages | p. 160 |
Syntax Analysis | p. 170 |
Top-Down and Bottom-Up Analysis | p. 170 |
Grammar as Network of Finite Automata | p. 172 |
Nondeterministic Recognition Algorithm | p. 176 |
Top-Down Deterministic Syntax Analysis | p. 178 |
Condition for LL(1) Parsing | p. 179 |
How to Obtain LL(1) Grammars | p. 192 |
Increasing Look-ahead | p. 196 |
Bottom-Up and General Parsing | p. 203 |
Introduction | p. 203 |
Bottom-Up Deterministic Syntax Analysis | p. 203 |
LR(0) Method | p. 204 |
LR(0) Grammars | p. 206 |
Shift-Reduce Parser | p. 211 |
Syntax Analysis with LR(k) Look-Ahead | p. 214 |
LR(1) Parsing Algorithm | p. 226 |
Properties of LR(k) Language and Grammar Families | p. 226 |
How to Obtain LR(1) Grammars | p. 229 |
LR(1) Parsing with Extended Context-Free Grammars | p. 232 |
Comparison of Deterministic Families REG, LL(k), and LR(k) | p. 241 |
A General Parsing Algorithm | p. 242 |
Introductory Example | p. 243 |
Earley Algorithm | p. 247 |
Computational Complexity | p. 252 |
Handling of Empty Rules | p. 254 |
Further Developments | p. 256 |
How to Choose a Parser | p. 256 |
Translation Semantics and Static Analysis | p. 259 |
Introduction | p. 259 |
Chapter Outline | p. 260 |
Translation Relation and Function | p. 262 |
Transliteration | p. 264 |
Regular Translations | p. 264 |
Two-Input Automaton | p. 266 |
Translation Functions and Finite Transducers | p. 270 |
Purely Syntactic Translation | p. 275 |
Infix and Polish Notations | p. 277 |
Ambiguity of Source Grammar and Translation | p. 281 |
Translation Grammars and Pushdown Transducers | p. 282 |
Syntax Analysis with Online Translation | p. 287 |
Top-Down Deterministic Translation | p. 287 |
Bottom-Up Deterministic Translation | p. 290 |
Comparisons | p. 295 |
Closure Properties of Translations | p. 296 |
Semantic Translations | p. 297 |
Attribute Grammars | p. 299 |
Left and Right Attributes | p. 301 |
Definition of Attribute Grammar | p. 305 |
Dependence Graph and Attribute Evaluation | p. 307 |
One Sweep Semantic Evaluation | p. 311 |
Other Evaluation Methods | p. 315 |
Combined Syntax and Semantic Analysis | p. 316 |
Typical Applications of Attribute Grammars | p. 324 |
Static Program Analysis | p. 334 |
A Program as an Automaton | p. 334 |
Liveness Intervals of Variables | p. 338 |
Reaching Definitions | p. 345 |
References | p. 353 |
Index | p. 357 |
Table of Contents provided by Ingram. All Rights Reserved. |
An electronic version of this book is available through VitalSource.
This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.
By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.
Digital License
You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.
More details can be found here.
A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.
Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.
Please view the compatibility matrix prior to purchase.