AccueilGroupesDiscussionsPlusTendances
Site de recherche
Ce site utilise des cookies pour fournir nos services, optimiser les performances, pour les analyses, et (si vous n'êtes pas connecté) pour les publicités. En utilisant Librarything, vous reconnaissez avoir lu et compris nos conditions générales d'utilisation et de services. Votre utilisation du site et de ses services vaut acceptation de ces conditions et termes.

Résultats trouvés sur Google Books

Cliquer sur une vignette pour aller sur Google Books.

Chargement...

PRINCIPLES OF COMPILER DESIGN (1977)

par Alfred V. Aho, Jeffrey D. Ullman

MembresCritiquesPopularitéÉvaluation moyenneMentions
1841147,928 (3.77)1
Aucun
Chargement...

Inscrivez-vous à LibraryThing pour découvrir si vous aimerez ce livre

Actuellement, il n'y a pas de discussions au sujet de ce livre.

» Voir aussi la mention 1

Indeholder "Preface", "Chapter 1 Introduction to Compilers", " 1.1 Compilers and translators", " 1.2 Why do we need translators?", " 1.3 The structure of a compiler", " 1.4 Lexical analysis", " 1.5 Syntax analysis", " 1.6 Intermediate code generation", " 1.7 Optimization", " 1.8 Code generation", " 1.9 Bookkeeping", " 1.10 Error handling", " 1.11 Compiler-writing tools", " 1.12 Getting started", "Chapter 2 Programming Languages", " 2.1 High-level programming languages", " 2.2 Definitions of programming languages", " 2.3 The lexical and syntactic structure of a language", " 2.4 Data elements", " 2.5 Data structures", " 2.6 Operators", " 2.7 Assignment", " 2.8 Statements", " 2.9 Program units", " 2.10 Data environments", " 2.11 Parameter transmission", " 2.12 Storage management", "Chapter 3 Finite Automata and Lexical Analysis", " 3.1 The role of the lexical analyzer", " 3.2 A simple approach to the design of lexical analyzers", " 3.3 Regular expressions", " 3.4 Finite automata", " 3.5 From regular expressions to finite automata", " 3.6 Minimizing the number of states of a DFA", " 3.7 A language for specifying lexical analyzers", " 3.8 Implementation of a lexical analyzer", " 3.9 The scanner generator as Swiss army knife", "Chapter 4 The Syntactic Specification of Programming Languages", " 4.1 Context-free grammars", " 4.2 Derivations and parse trees", " 4.3 Capabilities of context-free grammars", "Chapter 5 Basic Parsing Techniques", " 5.1 Parsers", " 5.2 Shift-reduce parsing", " 5.3 Operator-precedence parsing", " 5.4 Top-down parsing", " 5.5 Predictive parsers", "Chapter 6 Automatic Construction of Efficient Parsers", " 6.1 LR parsers", " 6.2 The canonical collection of LR(0) items", " 6.3 Constructing SLR parsing tables", " 6.4 Constructing canonical LR parsing tables", " 6.5 Constructing LALR parsing tables", " 6.6 Using ambiguous grammars", " 6.7 An automatic parser generator", " 6.8 Implementation of LR parsing tables", " 6.9 Constructing LALR sets of items", "Chapter 7 Syntax-Directed Translation", " 7.1 Syntax-directed translation schemes", " 7.2 Implementation of syntax-directed translators", " 7.3 Intermediate code", " 7.4 Postfix notation", " 7.5 Parse trees and syntax trees", " 7.6 Three-address code, quadruples, and triples", " 7.7 Translation of assignment statements", " 7.8 Boolean expressions", " 7.9 Statements that alter the flow of control", " 7.10 Postfix translations", " 7.11 Translation with a top-down parser", "Chapter 8 More About Translation", " 8.1 Array, references in arithmetic expressions", " 8.2 Procedure calls", " 8.3 Declarations", " 8.4 Case statements", " 8.5 Record structures", " 8.6 PL/I-style structures", "Chapter 9 Symbol Tables", " 9.1 The contents of a symbol table", " 9.2 Data structures for symbol tables", " 9.3 Representing scope information", "Chapter 10 Run-time Storage Administration", " 10.1 Implementation of a simple stack allocation scheme", " 10.2 Implementation of block-structured languages", " 10.3 Storage allocation in FORTRAN", " 10.4 Storage allocation in block-structured languages", "Chapter 11 Error Detection and Recovery", " 11.1 Errors", " 11.2 Lexical-phase errors", " 11.3 Syntactic-phase errors", " 11.4 Semantic errors", "Chapter 12 Introduction to Code Optimization", " 12.1 The principal sources of optimization", " 12.2 Loop optimization", " 12.3 The DAG representation of basic blocks", " 12.4 Value numbers and algebraic laws", " 12.5 Global data-flow analysis", "Chapter 13 More About Loop Optimization", " 13.1 Dominators", " 13.2 Reducible flow graphs", " 13.3 Depth-first search", " 13.4 Loop-invariant computations", " 13.5 Induction variable elimination", " 13.6 Some other loop optimizations", "Chapter 14 More About Data-Flow Analysis", " 14.1 Reaching definitions again", " 14.2 Available expressions", " 14.3 Copy propagation", " 14.4 Backward flow problems", " 14.5 Very busy expressions and code hoisting", " 14.6 The four kinds of data-flow analysis problems", " 14.7 Handling pointers", " 14.8 Interprocedural data-flow analysis", " 14.9 Putting it all together", "Chapter 15 Code Generation", " 15.1 Object programs", " 15.2 Problems in code generation", " 15.3 A machine model", " 15.4 A simple code generator", " 15.5 Register allocation and assignment", " 15.6 Code generation from DAG's", " 15.7 Peephole optimization", "Appendix A A Look at Some Compilers", " A.1 The C compilers", " A.2 The FORTRAN H compiler", " A.3 The BLISS/11 compiler", "Appendix B A Compiler Project", " B.1 Introduction", " B.2 A PASCAL Subset", " B.3 Program structure", " B.4 Lexical conventions", " B.5 Suggested exercises", " B.6 Some extensions", "Bibliography", "Index".
Standardlærebogen i compilerdesign, dvs hvordan man skriver en oversætter til et højniveausprog.

I 1981 skrev Michael Schwartzbach en oversætter fra Aka til Pascal og jeg skrev runtimebiblioteket. I 1982 skrev Michael en oversætter til mellemkode og jeg skrev fortolkeren af A-kode. Michael var på vej til USA, så han skrev compileren først. Så skrev jeg fortolkeren og en seddel med underligheder i oversætteren, så da han kom tilbage fra USA gik der et par dage med at rette og så virkede systemet ellers fint i flere år. En af superbrugerne var instruktoren Per Frederik Vilhelm Hasle Harlung, som blandt andet fandt en memory leak. Gad vide om ikke vi kiggede lidt i den her bog undervejs? ( )
  bnielsen | Mar 19, 2015 |
aucune critique | ajouter une critique

» Ajouter d'autres auteur(e)s

Nom de l'auteurRôleType d'auteurŒuvre ?Statut
Alfred V. Ahoauteur principaltoutes les éditionscalculé
Ullman, Jeffrey D.auteur principaltoutes les éditionsconfirmé
Vous devez vous identifier pour modifier le Partage des connaissances.
Pour plus d'aide, voir la page Aide sur le Partage des connaissances [en anglais].
Titre canonique
Informations provenant du Partage des connaissances anglais. Modifiez pour passer à votre langue.
Titre original
Titres alternatifs
Date de première publication
Personnes ou personnages
Lieux importants
Évènements importants
Films connexes
Épigraphe
Dédicace
Premiers mots
Informations provenant du Partage des connaissances anglais. Modifiez pour passer à votre langue.
This book is intended as a text for an introductory course in compiler design at the Junior, Senior, or first-year graduate level.
The purpose of this book is two-fold. We hope to acquaint the reader with the basic constructs of modern programming languages and to show how they can be efficiently implemented in the machine language of a typical computer.
Citations
Derniers mots
Notice de désambigüisation
Directeur de publication
Courtes éloges de critiques
Langue d'origine
DDC/MDS canonique
LCC canonique

Références à cette œuvre sur des ressources externes.

Wikipédia en anglais (1)

Aucune description trouvée dans une bibliothèque

Description du livre
Résumé sous forme de haïku

Discussion en cours

Aucun

Couvertures populaires

Vos raccourcis

Évaluation

Moyenne: (3.77)
0.5
1
1.5
2
2.5
3 5
3.5
4 6
4.5
5 2

Est-ce vous ?

Devenez un(e) auteur LibraryThing.

 

À propos | Contact | LibraryThing.com | Respect de la vie privée et règles d'utilisation | Aide/FAQ | Blog | Boutique | APIs | TinyCat | Bibliothèques historiques | Critiques en avant-première | Partage des connaissances | 204,825,277 livres! | Barre supérieure: Toujours visible