Crespi Reghizzi | Formal Languages and Compilation | E-Book | www2.sack.de
E-Book

E-Book, Englisch, 368 Seiten

Reihe: Texts in Computer Science

Crespi Reghizzi Formal Languages and Compilation


1. Auflage 2009
ISBN: 978-1-84882-050-0
Verlag: Springer
Format: PDF
Kopierschutz: 1 - PDF Watermark

E-Book, Englisch, 368 Seiten

Reihe: Texts in Computer Science

ISBN: 978-1-84882-050-0
Verlag: Springer
Format: PDF
Kopierschutz: 1 - PDF Watermark



State of books on compilers The book collects and condenses the experience of years of teaching compiler courses and doing research on formal language theory, on compiler and l- guage design, and to a lesser extent on natural language processing. In the turmoil of information technology developments, the subject of the book has kept the same fundamental principles over half a century, and its relevance for theory and practice is as important as in the early days. This state of a?airs of a topic, which is central to computer science and is based on consolidated principles, might lead us to believe that the acc- panying textbooks are by now consolidated, much as the classical books on mathematics. In fact this is rather not true: there exist ?ne books on the mathematical aspects of language and automata theory, but the best books on translators are sort of encyclopaedias of algorithms, design methods, and practical know-how used in compiler design. Indeed a compiler is a mic- cosm,featuring avarietyofaspectsrangingfromalgorithmicwisdomto CPU andmemoryexploitation.Asaconsequencethetextbookshavegrowninsize, and compete with respect to their coverage of the last developments on p- gramming languages, processor architectures and clever mappings from the former to the latter.

Crespi Reghizzi Formal Languages and Compilation jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


1;Preface;5
2;Contents;9
3;Introduction;13
3.1;Intended Scope and Audience;13
3.2;Compiler Parts and Corresponding Concepts;14
4;Syntax ;16
4.1;Introduction;16
4.1.1;Artificial and Formal Languages;16
4.1.2;Language Types;17
4.1.3;Chapter Outline;18
4.2;Formal Language Theory;19
4.2.1;Alphabet and Language;19
4.2.2;Language Operations;22
4.2.3;Set Operations;24
4.2.4;Star and Cross;25
4.2.5;Quotient;28
4.3;Regular Expressions and Languages;28
4.3.1;Definition of Regular Expression;29
4.3.2;Derivation and Language;31
4.3.3;Other Operators;34
4.3.4;Closure Properties of REG Family;35
4.4;Linguistic Abstraction;36
4.4.1;Abstract and Concrete Lists;37
4.5;Context-Free Generative Grammars;41
4.5.1;Limits of Regular Languages;41
4.5.2;Introduction to Context-Free Grammars;42
4.5.3;Conventional Grammar Representations;44
4.5.4;Derivation and Language Generation;46
4.5.5;Erroneous Grammars and Useless Rules;48
4.5.6;Recursion and Language Infinity;50
4.5.7;Syntax Trees and Canonical Derivations;51
4.5.8;Parenthesis Languages;55
4.5.9;Regular Composition of Context-Free Languages;57
4.5.10;Ambiguity;58
4.5.11;Catalogue of Ambiguous Forms and Remedies;60
4.5.12;Weak and Structural Equivalence;68
4.5.13;Grammar Transformations and Normal Forms;70
4.6;Grammars of Regular Languages;78
4.6.1;From Regular Expressions to Context-Free Grammars;78
4.6.2;Linear Grammars;80
4.6.3;Linear Language Equations;82
4.7;Comparison of Regular and Context-Free Languages;84
4.7.1;Limits of Context-Free Languages;87
4.7.2;Closure Properties of REG and CF;89
4.7.3;Alphabetic Transformations;91
4.7.4;Grammars with Regular Expressions;94
4.8;More General Grammars and Language Families;98
4.8.1;Chomsky Classification;98
5;Finite Automata as Regular Language Recognizers;103
5.1;Introduction;103
5.2;Recognition Algorithms and Automata;104
5.2.1;A General Automaton;105
5.3;Introduction to Finite Automata;108
5.4;Deterministic Finite Automata;110
5.4.1;Error State and Total Automata;111
5.4.2;Clean Automata;111
5.4.3;Minimal Automata;113
5.4.4;From Automata to Grammars;116
5.5;Nondeterministic Automata;118
5.5.1;Motivation of Nondeterminism;118
5.5.2;Nondeterministic Recognizers;120
5.5.3;Automata with Spontaneous Moves;122
5.5.4;Correspondence between Automata and Grammars;124
5.5.5;Ambiguity of Automata;125
5.5.6;Left-Linear Grammars and Automata;126
5.6;Directly from Automata to Regular Expressions: BMC Method;127
5.7;Elimination of Nondeterminism;129
5.7.1;Construction of Accessible Subsets;131
5.8;From Regular Expression to Recognizer;134
5.8.1;Thompson Structural Method;134
5.8.2;Algorithm of Glushkov, McNaughton and Yamada;136
5.8.3;Deterministic Recognizer by Berry and Sethi Algorithm;144
5.9;Regular Expressions with Complement and Intersection;147
5.9.1;Product of Automata;148
5.10;Summary of Relations between Regular Languages, Grammars, and Automata;153
6;Pushdown Automata and Top-down Parsing;156
6.1;Introduction;156
6.1.1;Pushdown Automaton;157
6.1.2;From Grammar to Pushdown Automaton;158
6.1.3;Definition of Pushdown Automaton;161
6.2;One Family for Context-Free Languages and Pushdown Automata;166
6.2.1;Intersection of Regular and Context-Free Languages;169
6.2.2;Deterministic Pushdown Automata and Languages;169
6.3;Syntax Analysis;179
6.3.1;Top-Down and Bottom-Up Analysis;179
6.3.2;Grammar as Network of Finite Automata;181
6.3.3;Nondeterministic Recognition Algorithm;185
6.4;Top-Down Deterministic Syntax Analysis;187
6.4.1;Condition for LL(1) Parsing;188
6.4.2;How to Obtain LL(1) Grammars;201
6.4.3;Increasing Look-ahead;205
7;Bottom-Up and General Parsing;211
7.1;Introduction;211
7.2;Bottom-Up Deterministic Syntax Analysis;211
7.2.1;LR(0) Method;212
7.2.2; LR(0) Grammars;214
7.2.3;Shift-Reduce Parser;219
7.2.4;Syntax Analysis with LR(k) Look-Ahead;222
7.2.5;LR(1) Parsing Algorithm;234
7.2.6;Properties of LR(k) Language and Grammar Families;234
7.2.7;How to Obtain LR(1) Grammars;237
7.2.8;LR(1) Parsing with Extended Context-Free Grammars;240
7.2.9;Comparison of Deterministic Families REG, LL(k), and LR(k);249
7.3;A General Parsing Algorithm;250
7.3.1;Introductory Example;251
7.3.2;Earley Algorithm;255
7.3.3;Computational Complexity;260
7.3.4;Handling of Empty Rules;262
7.3.5;Further Developments;264
7.4;How to Choose a Parser;264
8;Translation Semantics and Static Analysis;267
8.1;Introduction;267
8.1.1;Chapter Outline;268
8.2;Translation Relation and Function;270
8.3;Transliteration;272
8.4;Regular Translations;272
8.4.1;Two-Input Automaton;274
8.4.2;Translation Functions and Finite Transducers;278
8.5;Purely Syntactic Translation;283
8.5.1;Infix and Polish Notations;285
8.5.2;Ambiguity of Source Grammar and Translation;289
8.5.3;Translation Grammars and Pushdown Transducers;290
8.5.4;Syntax Analysis with Online Translation;295
8.5.5;Top-Down Deterministic Translation;295
8.5.6;Bottom-Up Deterministic Translation;298
8.5.7;Comparisons;303
8.5.8;Closure Properties of Translations;304
8.6;Semantic Translations;305
8.6.1;Attribute Grammars;307
8.6.2;Left and Right Attributes;309
8.6.3;Definition of Attribute Grammar;313
8.6.4;Dependence Graph and Attribute Evaluation;315
8.6.5;One Sweep Semantic Evaluation;319
8.6.6;Other Evaluation Methods;323
8.6.7;Combined Syntax and Semantic Analysis;324
8.6.8;Typical Applications of Attribute Grammars;332
8.7;Static Program Analysis;342
8.7.1;A Program as an Automaton;342
8.7.2;Liveness Intervals of Variables;346
8.7.3;Reaching Definitions;353
9;References;361
10;Index;364



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.