Engineering a Compiler
Autor Keith D. Cooper, Linda Torczonen Limba Engleză Paperback – 21 noi 2022
ABORDAREA PRACTICĂ: Engineering a Compiler echilibrează rigoarea teoretică a algoritmilor de compilare cu intuiția pragmatică necesară pentru construirea unor sisteme de stat-of-the-art. Observăm că autorii Keith D. Cooper și Linda Torczon nu se limitează la prezentarea fazelor clasice ale procesului de compilare, ci pun un accent deosebit pe optimizarea și generarea codului, zone care au beneficiat de cercetări intense în ultimii ani. Ediția a treia, recompensată cu premiul TAA în 2024, introduce secțiuni esențiale despre elaborarea semantică și forma codului (code shape), oferind soluții concrete pentru problemele care apar în traducerea schemelor de sintaxă ad-hoc.
Cititorul care a aplicat ideile din Modern Compiler Implementation in C va găsi aici o perspectivă extinsă asupra infrastructurii runtime și a alocării registrelor, elemente tratate cu o profunzime tehnică superioară. În timp ce Introduction to Compiler Design se concentrează pe simplificarea conceptelor pentru nivelul licență, lucrarea de față plonjează în detalii de implementare specifice compilatoarelor profesionale, precum analiza fluxului de date și programarea instrucțiunilor (instruction scheduling).
Structura volumului reflectă o progresie logică în 14 capitole, ghidând cititorul de la analiza lexicală și sintactică (front end) către reprezentări intermediare și, în final, spre optimizări scalare și de runtime. Această ediție extinde discuția despre modul în care compilatoarele implementează abstracțiile, legând cunoștințele teoretice de experiența directă a programatorului în limbajele de nivel înalt. Este o resursă tehnică ce transformă concepte abstracte în specificații clare pentru ingineria sistemelor software complexe.
Preț: 469.04 lei
Preț vechi: 796.13 lei
-41%
Carte disponibilă
Livrare economică 14-28 mai
Livrare express 06-12 mai pentru 233.65 lei
Specificații
ISBN-10: 0128154128
Pagini: 848
Dimensiuni: 191 x 235 x 34 mm
Greutate: 1.27 kg
Ediția:3
Editura: ELSEVIER SCIENCE
Public țintă
Primarily graduate, some undergraduate students in computer science; professional compiler writers, system software developers, architects and computer system designersDe ce să citești această carte
Recomandăm această lucrare inginerilor de software și arhitecților de sistem care doresc să înțeleagă mecanismele interne ale optimizării codului. Cititorul câștigă o viziune clară asupra transformării limbajelor de programare în instrucțiuni mașină eficiente, beneficiind de expertiza unor cercetători de top. Este o investiție valoroasă pentru cei care dezvoltă instrumente de analiză, interpretoare sau compilatoare de performanță.
Descriere scurtă
Engineering a Compiler, Third Edition covers the latest developments in compiler technology, with new chapters focusing on semantic elaboration (the problems that arise in generating code from the ad-hoc syntax-directed translation schemes in a generated parser), on runtime support for naming and addressability, and on code shape for expressions, assignments and control-structures. Leading educators and researchers, Keith Cooper and Linda Torczon, have revised this popular text with a fresh approach to learning important techniques for constructing a modern compiler, combining basic principles with pragmatic insights from their own experience building state-of-the-art compilers.
- Presents in-depth treatments of algorithms and techniques used in the front end of a modern compiler
- Pays particular attention to code optimization and code generation, both primary areas of recent research and development
- Focuses on how compilers (and interpreters) implement abstraction, tying the underlying knowledge to students’ own experience and to the languages in which they have been taught to program
- Covers bottom-up methods of register allocation at the local scope
Cuprins
2. Scanners
3. Parsers
4. Intermediate Representations
5. Syntax-Driven Translation
6. Implementing Procedures
7. Code Shape
8. Introduction to Optimization
9. Data-Flow Analysis
10. Scalar Optimization
11. Instruction Selection
12. Instruction Scheduling
13. Register Allocation
14. Runtime Optimization