Cooper_Engineering_a_Compiler(Second Edition) (1157546)
Текст из файла
In Praise of Engineering a Compiler Second EditionCompilers are a rich area of study, drawing together the whole world of computer science inone, elegant construction. Cooper and Torczon have succeeded in creating a welcoming guide tothese software systems, enhancing this new edition with clear lessons and the details you simplymust get right, all the while keeping the big picture firmly in view.
Engineering a Compiler is aninvaluable companion for anyone new to the subject.Michael D. SmithDean of the Faculty of Arts and SciencesJohn H. Finley, Jr. Professor of Engineering and Applied Sciences, Harvard UniversityThe Second Edition of Engineering a Compiler is an excellent introduction to the constructionof modern optimizing compilers. The authors draw from a wealth of experience in compilerconstruction in order to help students grasp the big picture while at the same time guidingthem through many important but subtle details that must be addressed to construct an effective optimizing compiler.
In particular, this book contains the best introduction to Static SingleAssignment Form that I’ve seen.Jeffery von RonneAssistant ProfessorDepartment of Computer ScienceThe University of Texas at San AntonioEngineering a Compiler increases its value as a textbook with a more regular and consistentstructure, and with a host of instructional aids: review questions, extra examples, sidebars, andmarginal notes. It also includes a wealth of technical updates, including more on nontraditionallanguages, real-world compilers, and nontraditional uses of compiler technology. The optimization material—already a signature strength—has become even more accessible and clear.Michael L.
ScottProfessorComputer Science DepartmentUniversity of RochesterAuthor of Programming Language PragmaticsKeith Cooper and Linda Torczon present an effective treatment of the history as well as apractitioner’s perspective of how compilers are developed. Theory as well as practical realworld examples of existing compilers (i.e. LISP, FORTRAN, etc.) comprise a multitude of effective discussions and illustrations. Full circle discussion of introductory along with advanced“allocation” and “optimization” concepts encompass an effective “life-cycle” of compilerengineering. This text should be on every bookshelf of computer science students as well asprofessionals involved with compiler engineering and development.David OrleansNova Southeastern UniversityThis page intentionally left blankEngineering a CompilerSecond EditionAbout the AuthorsKeith D.
Cooper is the Doerr Professor of Computational Engineering at Rice University. Hehas worked on a broad collection of problems in optimization of compiled code, including interprocedural data-flow analysis and its applications, value numbering, algebraic reassociation,register allocation, and instruction scheduling. His recent work has focused on a fundamentalreexamination of the structure and behavior of traditional compilers. He has taught a variety ofcourses at the undergraduate level, from introductory programming through code optimizationat the graduate level. He is a Fellow of the ACM.Linda Torczon, Senior Research Scientist, Department of Computer Science at Rice University, is a principal investigator on the Platform-Aware Compilation Environment project(PACE), a DARPA-sponsored project that is developing an optimizing compiler environmentwhich automatically adjusts its optimizations and strategies to new platforms.
From 1990 to2000, Dr. Torczon served as executive director of the Center for Research on Parallel Computation (CRPC), a National Science Foundation Science and Technology Center. She also servedas the executive director of HiPerSoft, of the Los Alamos Computer Science Institute, and ofthe Virtual Grid Application Development Software Project (VGrADS).Engineering a CompilerSecond EditionKeith D. CooperLinda TorczonRice UniversityHouston, TexasAMSTERDAM • BOSTON • HEIDELBERG • LONDONNEW YORK • OXFORD • PARIS • SAN DIEGOSAN FRANCISCO • SINGAPORE • SYDNEY • TOKYOMorgan Kaufmann Publishers is an imprint of ElsevierAcquiring Editor: Todd GreenDevelopment Editor: Nate McFaddenProject Manager: Andre CuelloDesigner: Alisa AndreolaCover Image: “The Landing of the Ark,” a vaulted ceiling-design whose iconography was narrated, designed, and drawn by JohnOutram of John Outram Associates, Architects and City Planners, London, England.
To read more visit www.johnoutram.com/rice.html.Morgan Kaufmann is an imprint of Elsevier.30 Corporate Drive, Suite 400, Burlington, MA 01803, USACopyright © 2012 Elsevier, Inc. All rights reserved.No part of this publication may be reproduced or transmitted in any form or by any means, electronic or mechanical, includingphotocopying, recording, or any information storage and retrieval system, without permission in writing from the publisher. Details onhow to seek permission, further information about the Publisher’s permissions policies and our arrangements with organizations such asthe Copyright Clearance Center and the Copyright Licensing Agency, can be found at our website: www.elsevier.com/permissions.This book and the individual contributions contained in it are protected under copyright by the Publisher (other than as may be notedherein).NoticesKnowledge and best practice in this field are constantly changing.
As new research and experience broaden our understanding, changesin research methods or professional practices may become necessary. Practitioners and researchers must always rely on their ownexperience and knowledge in evaluating and using any information or methods described herein. In using such information or methodsthey should be mindful of their own safety and the safety of others, including parties for whom they have a professional responsibility.To the fullest extent of the law, neither the Publisher nor the authors, contributors, or editors, assume any liability for any injury and/ordamage to persons or property as a matter of products liability, negligence or otherwise, or from any use or operation of any methods,products, instructions, or ideas contained in the material herein.Library of Congress Cataloging-in-Publication DataApplication submittedBritish Library Cataloguing-in-Publication DataA catalogue record for this book is available from the British Library.ISBN: 978-0-12-088478-0For information on all Morgan Kaufmann publicationsvisit our website at www.mkp.comPrinted in the United States of America11 12 13 14 10 9 8 7 6 5 4 3 2 1We dedicate this volume tonnnour parents, who instilled in us the thirst for knowledge and supportedus as we developed the skills to follow our quest for knowledge;our children, who have shown us again how wonderful the process oflearning and growing can be; andour spouses, without whom this book would never have been written.About the CoverThe cover of this book features a portion of the drawing, “The Landing of the Ark,” whichdecorates the ceiling of Duncan Hall at Rice University.
Both Duncan Hall and its ceiling weredesigned by British architect John Outram. Duncan Hall is an outward expression of architectural, decorative, and philosophical themes developed over Outram’s career as an architect. Thedecorated ceiling of the ceremonial hall plays a central role in the building’s decorative scheme.Outram inscribed the ceiling with a set of significant ideas—a creation myth. By expressingthose ideas in an allegorical drawing of vast size and intense color, Outram created a signpostthat tells visitors who wander into the hall that, indeed, this building is not like other buildings.By using the same signpost on the cover of Engineering a Compiler, the authors intend to signalthat this work contains significant ideas that are at the core of their discipline.
Like Outram’sbuilding, this volume is the culmination of intellectual themes developed over the authors’professional careers. Like Outram’s decorative scheme, this book is a device for communicatingideas. Like Outram’s ceiling, it presents significant ideas in new ways.By connecting the design and construction of compilers with the design and construction ofbuildings, we intend to convey the many similarities in these two distinct activities. Our manylong discussions with Outram introduced us to the Vitruvian ideals for architecture: commodity,firmness, and delight.
These ideals apply to many kinds of construction. Their analogs for compiler construction are consistent themes of this text: function, structure, and elegance. Functionmatters; a compiler that generates incorrect code is useless. Structure matters; engineering detaildetermines a compiler’s efficiency and robustness.
Elegance matters; a well-designed compiler,in which the algorithms and data structures flow smoothly from one pass to another, can be athing of beauty.We are delighted to have John Outram’s work grace the cover of this book.Duncan Hall’s ceiling is an interesting technological artifact. Outram drew the original designon one sheet of paper. It was photographed and scanned at 1200 dpi yielding roughly 750 mbof data. The image was enlarged to form 234 distinct 2 × 8 foot panels, creating a 52 × 72 footimage. The panels were printed onto oversize sheets of perforated vinyl using a 12 dpi acrylicink printer. These sheets were precision mounted onto 2 × 8 foot acoustic tiles and hung on thevault’s aluminum frame.viiiContentsAbout the Authors . .
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.