Essentials of Compilation
Autor Jeremy G. Sieken Limba Engleză Hardback – 21 feb 2023
Observăm în Essentials of Compilation o metodologie axată pe construcție activă: autorul propune dezvoltarea unui compilator funcțional, rând cu rând, folosind limbajul Python. Această abordare elimină bariera teoretică abstractă, concentrându-se pe modul în care deciziile de design hardware influențează direct structura limbajului de programare. Remarcăm o arhitectură a textului care nu fragmentează procesul în etape izolate (analiză lexicală, parsare, generare de cod), ci îl prezintă ca pe o evoluție organică a funcționalităților. Structura volumului este riguros organizată pentru a ghida cititorul de la elemente simple, precum întregii și variabilele, către concepte complexe de analiză a fluxului de date și gestiunea memoriei. Cuprinsul relevă o progresie tehnică solidă: capitolele dedicate alocării regiștrilor și analizei fluxului de date sunt urmate de implementarea tuplelor și a mecanismelor de garbage collection. Spre final, Jeremy G. Siek abordează teme moderne precum tastarea dinamică, gradual typing și genericele, oferind o perspectivă completă asupra sistemelor de tipizare. Abordarea diferă de A Practical Approach to Compiler Construction de Des Watson prin faptul că este mai puțin abstractă și mult mai aplicabilă; în timp ce Watson oferă o introducere generală în principii, Siek impune scrierea efectivă a codului într-un limbaj de înalt nivel. De asemenea, față de Modern Compiler Implementation in C de Andrew W. Appel, care utilizează un limbaj de nivel scăzut pentru implementare, Essentials of Compilation profită de expresivitatea Python pentru a permite cititorului să se concentreze pe algoritmii de compilare și pe structurile de date subiacente, fără a se pierde în gestionarea manuală a memoriei la fiecare pas.
Preț: 325.52 lei
Preț vechi: 419.09 lei
-22%
Carte disponibilă
Livrare economică 08-15 mai
Livrare express 24-30 aprilie pentru 50.95 lei
Specificații
ISBN-10: 0262047764
Pagini: 240
Ilustrații: 144 black and white illustrations
Dimensiuni: 262 x 184 x 21 mm
Greutate: 0.66 kg
Editura: MIT Press Ltd
De ce să citești această carte
Recomandăm această carte programatorilor care doresc să înțeleagă ce se întâmplă sub capota limbajelor de programare. Veți câștiga o înțelegere profundă a modului în care codul înalt este transformat în instrucțiuni hardware, construind propriul compilator în Python. Este un instrument esențial pentru cei care vor să treacă de la utilizarea unui limbaj la proiectarea sau optimizarea acestuia prin stăpânirea conceptelor de alocare a resurselor și analiză statică.
Despre autor
Jeremy G. Siek este un autor și cercetător recunoscut în domeniul informaticii, activând ca profesor la Indiana University. Este cunoscut pentru contribuțiile sale fundamentale în domeniul sistemelor de tipizare, fiind unul dintre pionierii conceptului de 'gradual typing', care permite combinarea verificării statice și dinamice a tipurilor de date. Expertiza sa se reflectă în Essentials of Compilation, unde reușește să transforme subiecte complexe în lecții practice, accesibile. Lucrarea sa este publicată de MIT Press Ltd, confirmând rigoarea științifică a metodologiei sale de predare.
Descriere scurtă
Cuprins
1 Preliminaries 1
2 Integers and Variables 13
3 Parsing 29
4 Register Allocation 45
5 Booleans and Conditionals 65
6 Loops and Dataflow Analysis 91
7 Tuples and Garbage Collection 99
8 Functions 125
9 Lexically Scooped Functions 143
10 Dynamic Typing 161
11 Gradual Typing 177
12 Generics 195
A Appendix 207
References 209
Index 217
Descriere
A hands-on approach to understanding and building compilers using the programming language Python. Compilers are notoriously difficult programs to teach and understand. Most books about compilers dedicate one chapter to each progressive stage, a structure that hides how language features motivate design choices. By contrast, this innovative textbook provides an incremental approach that allows students to write every single line of code themselves. Jeremy Siek guides the reader in constructing their own compiler in the powerful object-oriented programming language Python, adding complex language features as the book progresses. Essentials of Compilation explains the essential concepts, algorithms, and data structures that underlie modern compilers and lays the groundwork for future study of advanced topics. Already in wide use by students and professionals alike, this rigorous but accessible book invites readers to learn by doing. Deconstructs the challenge of compiler construction into bite-sized piecesEnhances learning by connecting language features to compiler design choicesDevelops understanding of how programs are mapped onto computer hardwareClassroom-tested, hands-on approach suitable for students and professionalsExtensive ancillary resources include source code and solutions