Essentials of Compilation: An Incremental Approach in RacketКНИГИ » ПРОГРАММИНГ
Название: Essentials of Compilation: An Incremental Approach in Racket Автор: Jeremy G. Siek Издательство: The MIT Press Год: 2023 Страниц: 240 Язык: английский Формат: epub (true) Размер: 16.6 MB
A hands-on approach to understanding and building compilers.
Compilers 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.
Essentials of Compilation 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.
We take you on a journey through constructing your own compiler for a small but powerful language. Along the way we explain the essential concepts, algorithms, and data structures that underlie compilers. We develop your understanding of how programs are mapped onto computer hardware, which is helpful in reasoning about properties at the junction of hardware and software, such as execution time, software errors, and security vulnerabilities. For those interested in pursuing compiler construction as a career, our goal is to provide a stepping-stone to advanced topics such as just-in-time compilation, program analysis, and program optimization. For those interested in designing and implementing programming languages, we connect language design choices to their impact on the compiler and the generated code.
A compiler is typically organized as a sequence of stages that progressively translate a program to the code that runs on hardware. We take this approach to the extreme by partitioning our compiler into a large number of nanopasses, each of which performs a single task. This enables the testing of each pass in isolation and focuses our attention, making the compiler far easier to understand.
This book has been used in compiler courses at California Polytechnic State University, Portland State University, Rose–Hulman Institute of Technology, University of Freiburg, University of Massachusetts Lowell, and the University of Vermont.
We use the Racket language both for the implementation of the compiler and for the input language, so the reader should be proficient with Racket or Scheme.
Deconstructs the challenge of compiler construction into bite-sized pieces Enhances learning by connecting language features to compiler design choices Develops understanding of how programs are mapped onto computer hardware Learn-by-doing approach suitable for students and professionals Proven in the classroom Extensive ancillary resources include source code and solutions
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
С этой публикацией часто скачивают:
Programming Language Design and Implementation Название: Programming Language Design and Implementation Автор: Torben ?gidius Mogensen Издательство: Springer Год: 2022 Страниц: 333 Язык:...
Crafting Interpreters Название: Crafting Interpreters Автор: Robert Nystrom Издательство: Genever Benning Год: 2021 Страниц: 312 Язык: английский Формат: pdf (true)...
Algorithms for Compiler Design Название: Algorithms for Compiler Design Автор: O G Kakde Издательство: Charles River Media Год: 2002 Формат: pdf Страниц: 334 Размер: 12 Mb Язык:...
Computer Programming in C for Beginners Название: Computer Programming in C for Beginners Автор: Gonzalez, Avelino Издательство: Springer Год: 2020 Формат: PDF, EPUB Страниц: 199 Размер:...
Data Structures - AU 2018 Название: Data Structures Автор: E. Balagurusamy Издательство: McGraw Hill Год: 2018 Страниц: 264 Язык: английский Формат: pdf (true) Размер:...
C++ Programming: An Object-Oriented Approach Название: C++ Programming: An Object-Oriented Approach Автор: Behrouz A. Forouzan, Richard Gilberg Издательство: McGraw-Hill Education Год: 2019...