How we did it:
For any feedback, any questions, any notes or just for chat - feel free to follow us on social networks
Henry S. Warren
" "This is the first book that promises to tell the deep, dark secrets of computer arithmetic, and it delivers in spades. It contains every trick I knew plus many, many more. A godsend for library developers, compiler writers, and lovers of elegant hacks, it deserves a spot on your shelf right next to Knuth.""--Josh Bloch" "When I first saw the title, I figured that the book must be either a cookbook for breaking into computers (unlikely) or some sort of compendium of little programming tricks. It's the latter, but it's thorough, almost encyclopedic, in its coverage." "--Guy Steele These are the timesaving techniques relished by computer hackers--those devoted and persistent code developers who seek elegant and efficient ways to build better software. The truth is that much of the computer programmer's job involves a healthy mix of arithmetic and logic. In "Hacker's Delight," veteran programmer Hank Warren shares the tricks he has collected from his considerable experience in the worlds of application and system programming. Most of these techniques are eminently practical, but a few are included just because they are interesting and unexpected. The resulting work is an irresistible collection that will help even the most seasoned programmers better their craft. Topics covered include: A broad collection of useful programming tricks Small algorithms for common tasksPower-of-2 boundaries and bounds checkingRearranging bits and bytesInteger division and division by constantsSome elementary functions on integersGray codeHilbert's space-filling curveAnd even formulas for prime numbers! This book is for anyone who wants to create efficient code. "Hacker's Delight" will help you learn to program at a higher level--well beyond what is generally taught in schools and training courses--and will advance you substantially further than is possible through ordinary self-study alone. 0201914654B06272002
Alfred V. Aho, Ravi Sethi
This book provides the foundation for understanding the theory and pracitce of compilers. Revised and updated, it reflects the current state of compilation. Every chapter has been completely revised to reflect developments in software engineering, programming languages, and computer architecture that have occurred since 1986, when the last edition published.& The authors, recognizing that few readers will ever go on to construct a compiler, retain their focus on the broader set of problems faced in software design and software development. Computer scientists, developers, & and aspiring students that want to learn how to build, maintain, and execute a compiler for a major programming language.
Steven S. Muchnick
Computer professionals who need to understand advanced techniques for designing efficient compilers will need this book. It provides complete coverage of advanced issues in the design of compilers, with a major emphasis on creating highly optimizing scalar compilers. It includes interviews and printed documentation from designers and implementors of real-world compilation systems.
Christopher W. Fraser
Examining the implementation of lcc, a production-quality, research-oriented retargetable compiler, designed at AT&T Bell Laboratories for the ANSI C programming language, this book is designed for professionals who seek a detailed examination of a real-world compiler. A thorough and accurate picture of the lcc compiler is provided, and a line-by-line explanation of the code demonstrates how the compiler is built. The accompanying disk holds the full source code for the lcc compiler, the three back ends and the code-generator.
Building an Optimizing Compiler provides a high-level design for a thorough optimizer, code generator, scheduler, and register allocator for a generic modern RISC processor. In the process it addresses the small issues that have a large impact on the implementation. The book approaches this subject from a practical viewpoint. Theory is introduced where intuitive arguments are insufficient; however, the theory is described in practical terms. Building an Optimizing Compiler provides a complete theory for static single assignment methods and partial redundancy methods for code optimization. It also provides a new generalization of register allocation techniques. A single running example is used throughout the book to illustrate the compilation process.