{"product_id":"essentials-of-compilation-isbn-9780262047760","title":"Essentials of Compilation","description":"\u003cb\u003eA hands-on approach to understanding and building compilers.\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003eCompilers are notoriously some of the most 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. \u003ci\u003eEssentials of Compilation\u003c\/i\u003e guides the reader in constructing their own compiler for a small but powerful programming language, adding complex language features as the book progresses. Jeremy Siek 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. \u003cbr\u003e\u003cbr\u003e\u003cul\u003e\n\u003cli\u003eDeconstructs the challenge of compiler construction into bite-sized pieces\u003c\/li\u003e\n\u003cli\u003eEnhances learning by connecting language features to compiler design choices\u003c\/li\u003e\n\u003cli\u003eDevelops understanding of how programs are mapped onto computer hardware\u003c\/li\u003e\n\u003cli\u003eLearn-by-doing approach suitable for students and professionals\u003c\/li\u003e\n\u003cli\u003eProven in the classroom\u003c\/li\u003e\n\u003cli\u003eExtensive ancillary resources include source code and solutions\u003c\/li\u003e\n\u003c\/ul\u003ePreface xi\u003cbr\u003e1 Preliminaries 1\u003cbr\u003e2 Integers and Variables 13\u003cbr\u003e3 Register Allocation 35\u003cbr\u003e4 Booleans and Conditionals 57\u003cbr\u003e5 Loops and Dataflow Analysis 83\u003cbr\u003e6 Tuples and Garbage Collection 97\u003cbr\u003e7 Functions 127\u003cbr\u003e8 Lexically Scoped Functions 145\u003cbr\u003e9 Dynamic Typing 161\u003cbr\u003e10 Gradual Typing 179\u003cbr\u003e11 Generics 199\u003cbr\u003eA Appendix 211\u003cbr\u003eReferences 215\u003cbr\u003eIndex 223\u003cb\u003eJeremy G. Siek\u003c\/b\u003e is professor of computer science at Indiana University and author of \u003ci\u003eThe Boost Graph Library\u003c\/i\u003e. He invented gradual typing, a type system that integrates both dynamic and static typing in the same programming language.","brand":"The MIT Press","offers":[{"title":"Default Title","offer_id":44862892998885,"sku":"NP9780262047760","price":50.0,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1842\/7735\/files\/9780262047760.jpg?v=1767726373","url":"https:\/\/k12savings.com\/es\/products\/essentials-of-compilation-isbn-9780262047760","provider":"K12savings","version":"1.0","type":"link"}