0 رای
وضعیت موجودی موجود

قیمت قبلی: 9,040,000 ریال
قیمت: 8,640,000 ریال


Product details

  • ASIN ‏ : ‎ 012088478X
  • Publisher ‏ : ‎ Morgan Kaufmann; 2nd edition (February 21, 2011)
  • Language ‏ : ‎ English
  • Hardcover ‏ : ‎ 824 pages
  • ISBN-10 ‏ : ‎ 9780120884780
  • ISBN-13 ‏ : ‎ 978-0120884780

 

کتاب Engineering a Compiler Second Edition

 

 

This entirely revised second edition of Engineering a Compiler is full of technical updates and new material covering the latest developments in compiler technology. In this comprehensive text you will learn important techniques for constructing a modern compiler. Leading educators and researchers Keith Cooper and Linda Torczon combine basic principles with pragmatic insights from their experience building state-of-the-art compilers. They will help you fully understand important techniques such as compilation of imperative and object-oriented languages, construction of static single assignment forms, instruction scheduling, and graph-coloring register allocation.

  • In-depth treatment of algorithms and techniques used in the front end of a modern compiler
  • Focus on code optimization and code generation, the primary areas of recent research and development
  • Improvements in presentation including conceptual overviews for each chapter, summaries and review questions for sections, and prominent placement of definitions for new terms
  • Examples drawn from several different programming languages

Changes This Edition

The second edition of Engineering a Compiler presents both perspectives: big-picture views of the problems in compiler construction and detailed discussions of algorithmic alternatives. In preparing the second edition of Engineering a Compiler, we focused on the usability of the book, both as a textbook and as a reference for professionals. Specifically, we:

  • Improved the flow of ideas to help the student who reads the book sequentially. Chapter introductions explain the purpose of the chapter, lay out the major concepts, and provide a high-level overview of the chapter’s subject matter. Examples have been reworked to provide continuity across chapters. In addition, each chapter begins with a summary and a set of keywords to aid the user who treats Engineering a Compiler as a reference book.
  • Added section reviews and review questions at the end of each major section. The review questions provide a quick check as to whether or not the reader has understood the major points of the section.
  • Moved definitions of key terms into the margin adjacent to the paragraph where they are first defined and discussed.
  • Revised the material on optimization extensively so that it provides broader coverage of the possibilities for an optimizing compiler.

Compiler development today focuses on optimization and on code generation. A newly hired compiler writer is far more likely to port a code generator to a new processor or modify an optimization pass than to write a scanner or parser. The successful compiler writer must be familiar with current best-practice techniques in optimization, such as the construction of static single-assignment form, and in code generation, such as software pipelining. They must also have the background and insight to understand new techniques as they appear during the coming years.

Finally, they must understand the techniques of scanning, parsing, and semantic elaboration well enough to build or modify a front end. Our goal for the second edition of Engineering a Compiler has been to create a text and a course that exposes students to the critical issues in modern compilers and provides them with the background to tackle those problems. We have retained, from the first edition, the basic balance of material. Front ends are commodity components; they can be purchased from a reliable vendor or adapted from one of the many open-source systems. At the same time, optimizers and code generators are custom-crafted for particular processors and, sometimes, for individual models, because performance relies so heavily on specific low-level details of the generated code. These facts affect the way that we build compilers today; they should also affect the way that we teach compiler construction.


Read a Sample Chapter from Engineering a Compiler on "Practical Issues"

Even with automatic parser generators, the compiler writer must manage several issues to produce a robust, efficient parser for a real programming language. This chapter addresses several issues that arise in practice.


Review

 

"Keith Cooper and Linda Torczon are leading compilers researchers who have also built several state-of-the-art compilers. This book adeptly spans both worlds, by explaining both time-tested techniques and new algorithms, and by providing practical advice on engineering and constructing a compiler. Engineering a Compiler is a rich survey and exposition of the important techniques necessary to build a modern compiler."--Jim Larus, Microsoft Research

"The book is well written, and well supported with diagrams, tables, and illustrative examples. It is a suitable textbook for use in a compilers course at the undergraduate or graduate level, where the primary focus of the course is code optimization."--ACM’s Computing Reviews.com

"This book is a wealth of useful information, prepared didactically, with many helpful hints, historical indications, and suggestions for further reading. It is a helpful working book for undergraduate and intermediate-level students, written by authors with an excellent professional and teaching background. An engineer will use the book as a general reference. For special topics, an ambitious reader will consult more recent publications in the subject area."--ACM’s Computing Reviews.com

Review

 

The classic introduction to compiler construction fully updated with new techniques and practical insights

From the Back Cover

 

Engineering a Compiler Second Edition Keith D. Cooper and Linda Torczon

"Compilers are a rich area of study, drawing together the whole world of computer science in one, elegant construction. Cooper and Torczon have succeeded in creating a welcoming guide to these software systems, enhancing this new edition with clear lessons and the details you simply must get right, all the while keeping the big picture firmly in view. Engineering a Compiler is an invaluable companion for anyone new to the subject."

--Michael D. Smith, Dean of the Faculty of Arts and Sciences, John H. Finley, Jr. Professor of Engineering and Applied Sciences, Harvard University

This entirely revised second edition of Engineering a Compiler is full of technical updates and new material covering the latest developments in compiler technology. In this comprehensive text you will learn important techniques for constructing a modern compiler. Leading educators and researchers Keith Cooper and Linda Torczon combine basic principles with pragmatic insights from their experience building state-of-the-art compilers. They will help you fully understand important techniques such as compilation of imperative and object-oriented languages, construction of static single assignment forms, instruction scheduling, and graph-coloring register allocation.

Features

 

 

 

 

  • In-depth treatment of algorithms and techniques used in the front end of a modern compiler
  • Focus on code optimization and code generation, the primary areas of recent research and development
  • Improvements in presentation, including conceptual overviews for each chapter, summaries and review questions for sections, and prominent placement of definitions for new terms
  • Examples drawn from several different programming languages, including Java, C, C++, and FORTRAN

About the Authors

Keith Cooper Doerr Professor in Computational Engineering Department of Computer Science, Rice University.

Linda Torczon Senior Research Scientist Department of Computer Science Rice University.

|

Engineering a Compiler Second Edition Keith D. Cooper and Linda Torczon

"Compilers are a rich area of study, drawing together the whole world of computer science in one, elegant construction. Cooper and Torczon have succeeded in creating a welcoming guide to these software systems, enhancing this new edition with clear lessons and the details you simply must get right, all the while keeping the big picture firmly in view. Engineering a Compiler is an invaluable companion for anyone new to the subject."

--Michael D. Smith, Dean of the Faculty of Arts and Sciences, John H. Finley, Jr. Professor of Engineering and Applied Sciences, Harvard University

This entirely revised second edition of Engineering a Compiler is full of technical updates and new material covering the latest developments in compiler technology. In this comprehensive text you will learn important techniques for constructing a modern compiler. Leading educators and researchers Keith Cooper and Linda Torczon combine basic principles with pragmatic insights from their experience building state-of-the-art compilers. They will help you fully understand important techniques such as compilation of imperative and object-oriented languages, construction of static single assignment forms, instruction scheduling, and graph-coloring register allocation.

Features

 

 

 

 

  • In-depth treatment of algorithms and techniques used in the front end of a modern compiler
  • Focus on code optimization and code generation, the primary areas of recent research and development
  • Improvements in presentation, including conceptual overviews for each chapter, summaries and review questions for sections, and prominent placement of definitions for new terms
  • Examples drawn from several different programming languages, including Java, C, C++, and FORTRAN

About the Authors

Keith Cooper Doerr Professor in Computational Engineering Department of Computer Science, Rice University.

Linda Torczon Senior Research Scientist Department of Computer Science Rice University.

About the Author

Dr. Cooper, Professor, Dept. of Computer Science at Rice University, is the leader of the Massively Scalar Compiler Project at Rice, which investigates issues relating to optimization and code generation for modern machines. He is also a member of the Center for High Performance Software Research, the Computer and Information Technology Institute, and the Center for Multimedia Communication -- all at Rice. He teaches courses in Compiler Construction at the undergraduate and graduate level.

Linda Torczon is a principal investigator on the Massively Scalar Compiler Project at Rice University, and the Grid Application Development Software Project sponsored by the next Generation Software program of the National Science Foundation. She also serves as the executive director of HiPerSoft and of the Los Alamos Computer Science Institute. Her research interests include code generation, interprocedural dataflow analysis and optimization, and programming environments.
 

This entirely revised second edition of Engineering a Compiler is full of technical updates and new material covering the latest developments in compiler technology. In this comprehensive text you will learn important techniques for constructing a modern compiler. Leading educators and researchers Keith Cooper and Linda Torczon combine basic principles with pragmatic insights from their experience building state-of-the-art compilers. They will help you fully understand important techniques such as compilation of imperative and object-oriented languages, construction of static single assignment forms, instruction scheduling, and graph-coloring register allocation.

  • In-depth treatment of algorithms and techniques used in the front end of a modern compiler
  • Focus on code optimization and code generation, the primary areas of recent research and development
  • Improvements in presentation including conceptual overviews for each chapter, summaries and review questions for sections, and prominent placement of definitions for new terms
  • Examples drawn from several different programming languages

Changes This Edition

The second edition of Engineering a Compiler presents both perspectives: big-picture views of the problems in compiler construction and detailed discussions of algorithmic alternatives. In preparing the second edition of Engineering a Compiler, we focused on the usability of the book, both as a textbook and as a reference for professionals. Specifically, we:

  • Improved the flow of ideas to help the student who reads the book sequentially. Chapter introductions explain the purpose of the chapter, lay out the major concepts, and provide a high-level overview of the chapter’s subject matter. Examples have been reworked to provide continuity across chapters. In addition, each chapter begins with a summary and a set of keywords to aid the user who treats Engineering a Compiler as a reference book.
  • Added section reviews and review questions at the end of each major section. The review questions provide a quick check as to whether or not the reader has understood the major points of the section.
  • Moved definitions of key terms into the margin adjacent to the paragraph where they are first defined and discussed.
  • Revised the material on optimization extensively so that it provides broader coverage of the possibilities for an optimizing compiler.

Compiler development today focuses on optimization and on code generation. A newly hired compiler writer is far more likely to port a code generator to a new processor or modify an optimization pass than to write a scanner or parser. The successful compiler writer must be familiar with current best-practice techniques in optimization, such as the construction of static single-assignment form, and in code generation, such as software pipelining. They must also have the background and insight to understand new techniques as they appear during the coming years.

Finally, they must understand the techniques of scanning, parsing, and semantic elaboration well enough to build or modify a front end. Our goal for the second edition of Engineering a Compiler has been to create a text and a course that exposes students to the critical issues in modern compilers and provides them with the background to tackle those problems. We have retained, from the first edition, the basic balance of material. Front ends are commodity components; they can be purchased from a reliable vendor or adapted from one of the many open-source systems. At the same time, optimizers and code generators are custom-crafted for particular processors and, sometimes, for individual models, because performance relies so heavily on specific low-level details of the generated code. These facts affect the way that we build compilers today; they should also affect the way that we teach compiler construction.


Read a Sample Chapter from Engineering a Compiler on "Practical Issues"

Even with automatic parser generators, the compiler writer must manage several issues to produce a robust, efficient parser for a real programming language. This chapter addresses several issues that arise in practice.


Review

 

"Keith Cooper and Linda Torczon are leading compilers researchers who have also built several state-of-the-art compilers. This book adeptly spans both worlds, by explaining both time-tested techniques and new algorithms, and by providing practical advice on engineering and constructing a compiler. Engineering a Compiler is a rich survey and exposition of the important techniques necessary to build a modern compiler."--Jim Larus, Microsoft Research

"The book is well written, and well supported with diagrams, tables, and illustrative examples. It is a suitable textbook for use in a compilers course at the undergraduate or graduate level, where the primary focus of the course is code optimization."--ACM’s Computing Reviews.com

"This book is a wealth of useful information, prepared didactically, with many helpful hints, historical indications, and suggestions for further reading. It is a helpful working book for undergraduate and intermediate-level students, written by authors with an excellent professional and teaching background. An engineer will use the book as a general reference. For special topics, an ambitious reader will consult more recent publications in the subject area."--ACM’s Computing Reviews.com

Review

 

The classic introduction to compiler construction fully updated with new techniques and practical insights

From the Back Cover

 

Engineering a Compiler Second Edition Keith D. Cooper and Linda Torczon

"Compilers are a rich area of study, drawing together the whole world of computer science in one, elegant construction. Cooper and Torczon have succeeded in creating a welcoming guide to these software systems, enhancing this new edition with clear lessons and the details you simply must get right, all the while keeping the big picture firmly in view. Engineering a Compiler is an invaluable companion for anyone new to the subject."

--Michael D. Smith, Dean of the Faculty of Arts and Sciences, John H. Finley, Jr. Professor of Engineering and Applied Sciences, Harvard University

This entirely revised second edition of Engineering a Compiler is full of technical updates and new material covering the latest developments in compiler technology. In this comprehensive text you will learn important techniques for constructing a modern compiler. Leading educators and researchers Keith Cooper and Linda Torczon combine basic principles with pragmatic insights from their experience building state-of-the-art compilers. They will help you fully understand important techniques such as compilation of imperative and object-oriented languages, construction of static single assignment forms, instruction scheduling, and graph-coloring register allocation.

Features

 

 

 

 

  • In-depth treatment of algorithms and techniques used in the front end of a modern compiler
  • Focus on code optimization and code generation, the primary areas of recent research and development
  • Improvements in presentation, including conceptual overviews for each chapter, summaries and review questions for sections, and prominent placement of definitions for new terms
  • Examples drawn from several different programming languages, including Java, C, C++, and FORTRAN

About the Authors

Keith Cooper Doerr Professor in Computational Engineering Department of Computer Science, Rice University.

Linda Torczon Senior Research Scientist Department of Computer Science Rice University.

|

Engineering a Compiler Second Edition Keith D. Cooper and Linda Torczon

"Compilers are a rich area of study, drawing together the whole world of computer science in one, elegant construction. Cooper and Torczon have succeeded in creating a welcoming guide to these software systems, enhancing this new edition with clear lessons and the details you simply must get right, all the while keeping the big picture firmly in view. Engineering a Compiler is an invaluable companion for anyone new to the subject."

--Michael D. Smith, Dean of the Faculty of Arts and Sciences, John H. Finley, Jr. Professor of Engineering and Applied Sciences, Harvard University

This entirely revised second edition of Engineering a Compiler is full of technical updates and new material covering the latest developments in compiler technology. In this comprehensive text you will learn important techniques for constructing a modern compiler. Leading educators and researchers Keith Cooper and Linda Torczon combine basic principles with pragmatic insights from their experience building state-of-the-art compilers. They will help you fully understand important techniques such as compilation of imperative and object-oriented languages, construction of static single assignment forms, instruction scheduling, and graph-coloring register allocation.

Features

 

 

 

 

  • In-depth treatment of algorithms and techniques used in the front end of a modern compiler
  • Focus on code optimization and code generation, the primary areas of recent research and development
  • Improvements in presentation, including conceptual overviews for each chapter, summaries and review questions for sections, and prominent placement of definitions for new terms
  • Examples drawn from several different programming languages, including Java, C, C++, and FORTRAN

About the Authors

Keith Cooper Doerr Professor in Computational Engineering Department of Computer Science, Rice University.

Linda Torczon Senior Research Scientist Department of Computer Science Rice University.

About the Author

Dr. Cooper, Professor, Dept. of Computer Science at Rice University, is the leader of the Massively Scalar Compiler Project at Rice, which investigates issues relating to optimization and code generation for modern machines. He is also a member of the Center for High Performance Software Research, the Computer and Information Technology Institute, and the Center for Multimedia Communication -- all at Rice. He teaches courses in Compiler Construction at the undergraduate and graduate level.

Linda Torczon is a principal investigator on the Massively Scalar Compiler Project at Rice University, and the Grid Application Development Software Project sponsored by the next Generation Software program of the National Science Foundation. She also serves as the executive director of HiPerSoft and of the Los Alamos Computer Science Institute. Her research interests include code generation, interprocedural dataflow analysis and optimization, and programming environments.

 

منابع کتاب کتاب Engineering a Compiler Second Edition

 

این ویرایش دوم کاملاً اصلاح‌شده Engineering a Compiler مملو از به‌روزرسانی‌های فنی و مطالب جدید است که آخرین پیشرفت‌ها در فناوری کامپایلر را پوشش می‌دهد. در این متن جامع با تکنیک های مهم برای ساخت یک کامپایلر مدرن آشنا می شوید. کیت کوپر و لیندا تورکزون، مربیان و محققان برجسته، اصول اولیه را با بینش‌های عمل‌گرایانه از تجربه خود در ساخت کامپایلرهای پیشرفته ترکیب می‌کنند. آنها به شما کمک می‌کنند تا تکنیک‌های مهمی مانند کامپایل زبان‌های امری و شی گرا، ساخت فرم‌های تخصیص تک استاتیک، زمان‌بندی دستورالعمل‌ها و تخصیص ثبت رنگ‌های گراف را کاملاً درک کنید.

  • درمان عمیق الگوریتم ها و تکنیک های مورد استفاده در قسمت جلویی یک کامپایلر مدرن
  • تمرکز بر بهینه سازی کد و تولید کد، زمینه های اصلی تحقیق و توسعه اخیر
  • بهبود در ارائه شامل مرورهای مفهومی برای هر فصل، خلاصه و سؤالات مروری برای بخش ها، و قرار دادن برجسته تعاریف برای اصطلاحات جدید
  • نمونه هایی از چندین زبان برنامه نویسی مختلف گرفته شده است

این نسخه را تغییر می دهد

ویرایش دوم Engineering a Compiler هر دو دیدگاه را ارائه می‌کند: نماهای تصویری بزرگ از مشکلات در ساخت کامپایلر و بحث‌های مفصل درباره جایگزین‌های الگوریتمی. در تهیه ویرایش دوم مهندسی یک کامپایلر ، بر قابلیت استفاده از کتاب، هم به عنوان کتاب درسی و هم به عنوان مرجع برای متخصصان تمرکز کردیم. به طور خاص، ما:

  • برای کمک به دانش آموزی که کتاب را به طور متوالی می خواند، جریان ایده ها را بهبود بخشید. مقدمه‌های فصل، هدف فصل را توضیح می‌دهند، مفاهیم اصلی را بیان می‌کنند، و یک نمای کلی در سطح بالایی از موضوع فصل ارائه می‌دهند. مثال‌ها برای ارائه تداوم در سر فصل‌ها دوباره کار شده‌اند. علاوه بر این، هر فصل با یک خلاصه و مجموعه ای از کلمات کلیدی شروع می شود تا به کاربری کمک کند که Engineering a Compiler را به عنوان یک کتاب مرجع در نظر می گیرد.
  • بررسی های بخش و سؤالات مروری در پایان هر بخش اصلی اضافه شد. سؤالات مرور بررسی سریعی را ارائه می دهد که آیا خواننده نکات اصلی بخش را درک کرده است یا خیر.
  • تعاریف اصطلاحات کلیدی را به حاشیه مجاور پاراگراف منتقل کرد، جایی که برای اولین بار تعریف و بحث شد.
  • مطالب مربوط به بهینه‌سازی را به‌طور گسترده مورد بازنگری قرار داد تا پوشش وسیع‌تری از امکانات یک کامپایلر بهینه‌ساز ارائه دهد.

امروزه توسعه کامپایلر بر بهینه سازی و تولید کد متمرکز است. یک کامپایلر نویس تازه استخدام شده به مراتب بیشتر از نوشتن یک اسکنر یا تجزیه کننده، یک مولد کد را به یک پردازنده جدید منتقل می کند یا یک پاس بهینه سازی را تغییر می دهد. نویسنده موفق کامپایلر باید با بهترین تکنیک‌های فعلی در بهینه‌سازی، مانند ساخت فرم تک‌تخصیص ایستا، و در تولید کد، مانند لوله‌گذاری نرم‌افزار، آشنا باشد. آنها همچنین باید پیشینه و بینش برای درک تکنیک های جدید را همانطور که در سال های آینده ظاهر می شوند داشته باشند.

در نهایت، آن‌ها باید تکنیک‌های اسکن، تجزیه و تفصیل معنایی را به‌خوبی درک کنند تا بتوانند یک قسمت جلویی بسازند یا اصلاح کنند. هدف ما برای ویرایش دوم مهندسی یک کامپایلرایجاد یک متن و دوره ای بوده است که دانشجویان را با مسائل مهم در کامپایلرهای مدرن آشنا می کند و زمینه ای برای مقابله با این مشکلات برای آنها فراهم می کند. ما از نسخه اول، تعادل اولیه مطالب را حفظ کرده ایم. قسمت های جلویی اجزای کالا هستند. آنها را می توان از یک فروشنده قابل اعتماد خریداری کرد یا از یکی از بسیاری از سیستم های منبع باز اقتباس کرد. در عین حال، بهینه‌سازها و تولیدکننده‌های کد به‌صورت سفارشی برای پردازنده‌های خاص و گاهی اوقات برای مدل‌های جداگانه ساخته می‌شوند، زیرا عملکرد به شدت به جزئیات سطح پایین کد تولید شده وابسته است. این حقایق بر نحوه ساخت کامپایلرهای امروزی تأثیر می گذارد. آنها همچنین باید بر نحوه آموزش ساخت کامپایلر تأثیر بگذارند.


یک فصل نمونه از مهندسی یک کامپایلر در مورد "مسائل عملی" را بخوانید.

حتی با مولدهای تجزیه کننده خودکار، نویسنده کامپایلر باید چندین مسئله را مدیریت کند تا یک تجزیه کننده قوی و کارآمد برای یک زبان برنامه نویسی واقعی تولید کند. این فصل به چندین موضوع می پردازد که در عمل مطرح می شوند.


مرور

کیت کوپر و لیندا تورکزون از محققان پیشرو در کامپایلر هستند که چندین کامپایلر پیشرفته را نیز ساخته اند. این کتاب با توضیح تکنیک های آزمایش شده و الگوریتم های جدید و ارائه توصیه های عملی در مورد مهندسی و به طرز ماهرانه ای هر دو جهان را در بر می گیرد. ساخت یک کامپایلر. مهندسی یک کامپایلر یک بررسی و توضیح غنی از تکنیک های مهم لازم برای ساخت یک کامپایلر مدرن است." --جیم لاروس، تحقیقات مایکروسافت

"کتاب به خوبی نوشته شده است، و به خوبی با نمودارها، جداول، و مثال های گویا پشتیبانی می شود. این کتاب درسی مناسبی برای استفاده در دوره های کامپایلر در سطح کارشناسی یا کارشناسی ارشد است، جایی که تمرکز اصلی این دوره بهینه سازی کد است."- - ACM's Computing Reviews.com

"این کتاب انبوهی از اطلاعات مفید است که به صورت آموزشی تهیه شده است، همراه با نکات مفید، نشانه های تاریخی و پیشنهادات برای مطالعه بیشتر. این کتاب کار مفیدی برای دانشجویان مقطع کارشناسی و متوسط ​​است که توسط نویسندگانی با مهارت های حرفه ای و تدریس عالی نوشته شده است. پیشینه. یک مهندس از کتاب به عنوان یک مرجع کلی استفاده می کند. برای موضوعات خاص، یک خواننده جاه طلب از انتشارات اخیر در حوزه موضوعی مشورت خواهد کرد."-- ACM's Computing Reviews.com

مرور

مقدمه کلاسیک ساخت کامپایلر به طور کامل با تکنیک های جدید و بینش های عملی به روز شده است

از پشت جلد

مهندسی یک کامپایلر ویرایش دوم کیث دی. کوپر و لیندا تورکزون

کامپایلرها حوزه مطالعاتی غنی هستند که کل دنیای علوم کامپیوتر را در یک ساختار زیبا گرد هم می‌آورند. کوپر و تورکزون موفق شده‌اند راهنمای خوش‌آمدگویی برای این سیستم‌های نرم‌افزاری ایجاد کنند و این نسخه جدید را با درس‌های واضح و جزئیاتی که به سادگی می‌بینید بهبود بخشند. باید به درستی انجام شود، در حالی که تصویر بزرگ را محکم در نظر داشته باشید. مهندسی یک کامپایلر یک همراه ارزشمند برای هر کسی که تازه به این موضوع می‌پردازد است.

--مایکل دی. اسمیت، رئیس دانشکده هنر و علوم، جان اچ. فینلی، جونیور، استاد مهندسی و علوم کاربردی، دانشگاه هاروارد

این ویرایش دوم کاملاً اصلاح‌شده Engineering a Compiler مملو از به‌روزرسانی‌های فنی و مطالب جدید است که آخرین پیشرفت‌ها در فناوری کامپایلر را پوشش می‌دهد. در این متن جامع با تکنیک های مهم برای ساخت یک کامپایلر مدرن آشنا می شوید. کیت کوپر و لیندا تورکزون، مربیان و محققان برجسته، اصول اولیه را با بینش‌های عمل‌گرایانه از تجربه خود در ساخت کامپایلرهای پیشرفته ترکیب می‌کنند. آنها به شما کمک می‌کنند تا تکنیک‌های مهمی مانند کامپایل زبان‌های امری و شی گرا، ساخت فرم‌های تخصیص تک استاتیک، زمان‌بندی دستورالعمل‌ها و تخصیص ثبت رنگ‌های گراف را کاملاً درک کنید.

امکانات

 

 

 

 

  • درمان عمیق الگوریتم ها و تکنیک های مورد استفاده در قسمت جلویی یک کامپایلر مدرن
  • تمرکز بر بهینه سازی کد و تولید کد، زمینه های اصلی تحقیق و توسعه اخیر
  • بهبود در ارائه، از جمله مرورهای مفهومی برای هر فصل، خلاصه و سؤالات مروری برای بخش‌ها، و قرار دادن برجسته تعاریف برای اصطلاحات جدید
  • نمونه هایی از چندین زبان برنامه نویسی مختلف از جمله جاوا، C، C++ و FORTRAN گرفته شده است

درباره نویسندگان

کیت کوپر دوئر، استاد در مهندسی محاسبات گروه علوم کامپیوتر، دانشگاه رایس.

لیندا تورکزون، دانشمند پژوهشی ارشد گروه علوم کامپیوتر دانشگاه رایس.

|

مهندسی یک کامپایلر ویرایش دوم کیث دی. کوپر و لیندا تورکزون

کامپایلرها حوزه مطالعاتی غنی هستند که کل دنیای علوم کامپیوتر را در یک ساختار زیبا گرد هم می‌آورند. کوپر و تورکزون موفق شده‌اند راهنمای خوش‌آمدگویی برای این سیستم‌های نرم‌افزاری ایجاد کنند و این نسخه جدید را با درس‌های واضح و جزئیاتی که به سادگی می‌بینید بهبود بخشند. باید به درستی انجام شود، در حالی که تصویر بزرگ را محکم در نظر داشته باشید. مهندسی یک کامپایلر یک همراه ارزشمند برای هر کسی که تازه به این موضوع می‌پردازد است.

--مایکل دی. اسمیت، رئیس دانشکده هنر و علوم، جان اچ. فینلی، جونیور، استاد مهندسی و علوم کاربردی، دانشگاه هاروارد

این ویرایش دوم کاملاً اصلاح‌شده Engineering a Compiler مملو از به‌روزرسانی‌های فنی و مطالب جدید است که آخرین پیشرفت‌ها در فناوری کامپایلر را پوشش می‌دهد. در این متن جامع با تکنیک های مهم برای ساخت یک کامپایلر مدرن آشنا می شوید. کیت کوپر و لیندا تورکزون، مربیان و محققان برجسته، اصول اولیه را با بینش‌های عمل‌گرایانه از تجربه خود در ساخت کامپایلرهای پیشرفته ترکیب می‌کنند. آنها به شما کمک می‌کنند تا تکنیک‌های مهمی مانند کامپایل زبان‌های امری و شی گرا، ساخت فرم‌های تخصیص تک استاتیک، زمان‌بندی دستورالعمل‌ها و تخصیص ثبت رنگ‌های گراف را کاملاً درک کنید.

امکانات

 

 

 

 

  • درمان عمیق الگوریتم ها و تکنیک های مورد استفاده در قسمت جلویی یک کامپایلر مدرن
  • تمرکز بر بهینه سازی کد و تولید کد، زمینه های اصلی تحقیق و توسعه اخیر
  • بهبود در ارائه، از جمله مرورهای مفهومی برای هر فصل، خلاصه و سؤالات مروری برای بخش‌ها، و قرار دادن برجسته تعاریف برای اصطلاحات جدید
  • نمونه هایی از چندین زبان برنامه نویسی مختلف از جمله جاوا، C، C++ و FORTRAN گرفته شده است

درباره نویسندگان

کیت کوپر دوئر، استاد در مهندسی محاسبات گروه علوم کامپیوتر، دانشگاه رایس.

لیندا تورکزون، دانشمند پژوهشی ارشد گروه علوم کامپیوتر دانشگاه رایس.

درباره نویسنده

دکتر کوپر، پروفسور بخش علوم کامپیوتر در دانشگاه رایس، رهبر پروژه کامپایلر Massively Scalar در رایس است که به بررسی مسائل مربوط به بهینه‌سازی و تولید کد برای ماشین‌های مدرن می‌پردازد. او همچنین عضو مرکز تحقیقات نرم افزار با کارایی بالا، مؤسسه رایانه و فناوری اطلاعات، و مرکز ارتباطات چند رسانه ای - همه در رایس است. او دروس ساخت کامپایلر را در مقاطع کارشناسی و کارشناسی ارشد تدریس می کند.

لیندا تورکزون محقق اصلی پروژه کامپایلر Massively Scalar در دانشگاه رایس، و پروژه نرم‌افزار توسعه اپلیکیشن Grid است که توسط برنامه نسل بعدی نرم‌افزار بنیاد ملی علوم حمایت می‌شود. او همچنین به عنوان مدیر اجرایی HiPerSoft و موسسه علوم کامپیوتر لوس آلاموس خدمت می کند. علایق تحقیقاتی او شامل تولید کد، تجزیه و تحلیل و بهینه سازی جریان داده بین رویه ای و محیط های برنامه نویسی است.

این ویرایش دوم کاملاً اصلاح‌شده Engineering a Compiler مملو از به‌روزرسانی‌های فنی و مطالب جدید است که آخرین پیشرفت‌ها در فناوری کامپایلر را پوشش می‌دهد. در این متن جامع با تکنیک های مهم برای ساخت یک کامپایلر مدرن آشنا می شوید. کیت کوپر و لیندا تورکزون، مربیان و محققان برجسته، اصول اولیه را با بینش‌های عمل‌گرایانه از تجربه خود در ساخت کامپایلرهای پیشرفته ترکیب می‌کنند. آنها به شما کمک می‌کنند تا تکنیک‌های مهمی مانند کامپایل زبان‌های امری و شی گرا، ساخت فرم‌های تخصیص تک استاتیک، زمان‌بندی دستورالعمل‌ها و تخصیص ثبت رنگ‌های گراف را کاملاً درک کنید.

  • درمان عمیق الگوریتم ها و تکنیک های مورد استفاده در قسمت جلویی یک کامپایلر مدرن
  • تمرکز بر بهینه سازی کد و تولید کد، زمینه های اصلی تحقیق و توسعه اخیر
  • بهبود در ارائه شامل مرورهای مفهومی برای هر فصل، خلاصه و سؤالات مروری برای بخش ها، و قرار دادن برجسته تعاریف برای اصطلاحات جدید
  • نمونه هایی از چندین زبان برنامه نویسی مختلف گرفته شده است

این نسخه را تغییر می دهد

ویرایش دوم Engineering a Compiler هر دو دیدگاه را ارائه می‌کند: نماهای تصویری بزرگ از مشکلات در ساخت کامپایلر و بحث‌های مفصل درباره جایگزین‌های الگوریتمی. در تهیه ویرایش دوم مهندسی یک کامپایلر ، بر قابلیت استفاده از کتاب، هم به عنوان کتاب درسی و هم به عنوان مرجع برای متخصصان تمرکز کردیم. به طور خاص، ما:

  • برای کمک به دانش آموزی که کتاب را به طور متوالی می خواند، جریان ایده ها را بهبود بخشید. مقدمه‌های فصل، هدف فصل را توضیح می‌دهند، مفاهیم اصلی را بیان می‌کنند، و یک نمای کلی در سطح بالایی از موضوع فصل ارائه می‌دهند. مثال‌ها برای ارائه تداوم در سر فصل‌ها دوباره کار شده‌اند. علاوه بر این، هر فصل با یک خلاصه و مجموعه ای از کلمات کلیدی شروع می شود تا به کاربری کمک کند که Engineering a Compiler را به عنوان یک کتاب مرجع در نظر می گیرد.
  • بررسی های بخش و سؤالات مروری در پایان هر بخش اصلی اضافه شد. سؤالات مرور بررسی سریعی را ارائه می دهد که آیا خواننده نکات اصلی بخش را درک کرده است یا خیر.
  • تعاریف اصطلاحات کلیدی را به حاشیه مجاور پاراگراف منتقل کرد، جایی که برای اولین بار تعریف و بحث شد.
  • مطالب مربوط به بهینه‌سازی را به‌طور گسترده مورد بازنگری قرار داد تا پوشش وسیع‌تری از امکانات یک کامپایلر بهینه‌ساز ارائه دهد.

امروزه توسعه کامپایلر بر بهینه سازی و تولید کد متمرکز است. یک کامپایلر نویس تازه استخدام شده به مراتب بیشتر از نوشتن یک اسکنر یا تجزیه کننده، یک مولد کد را به یک پردازنده جدید منتقل می کند یا یک پاس بهینه سازی را تغییر می دهد. نویسنده موفق کامپایلر باید با بهترین تکنیک‌های فعلی در بهینه‌سازی، مانند ساخت فرم تک‌تخصیص ایستا، و در تولید کد، مانند لوله‌گذاری نرم‌افزار، آشنا باشد. آنها همچنین باید پیشینه و بینش برای درک تکنیک های جدید را همانطور که در سال های آینده ظاهر می شوند داشته باشند.

در نهایت، آن‌ها باید تکنیک‌های اسکن، تجزیه و تفصیل معنایی را به‌خوبی درک کنند تا بتوانند یک قسمت جلویی بسازند یا اصلاح کنند. هدف ما برای ویرایش دوم مهندسی یک کامپایلرایجاد یک متن و دوره ای بوده است که دانشجویان را با مسائل مهم در کامپایلرهای مدرن آشنا می کند و زمینه ای برای مقابله با این مشکلات برای آنها فراهم می کند. ما از نسخه اول، تعادل اولیه مطالب را حفظ کرده ایم. قسمت های جلویی اجزای کالا هستند. آنها را می توان از یک فروشنده قابل اعتماد خریداری کرد یا از یکی از بسیاری از سیستم های منبع باز اقتباس کرد. در عین حال، بهینه‌سازها و تولیدکننده‌های کد به‌صورت سفارشی برای پردازنده‌های خاص و گاهی اوقات برای مدل‌های جداگانه ساخته می‌شوند، زیرا عملکرد به شدت به جزئیات سطح پایین کد تولید شده وابسته است. این حقایق بر نحوه ساخت کامپایلرهای امروزی تأثیر می گذارد. آنها همچنین باید بر نحوه آموزش ساخت کامپایلر تأثیر بگذارند.


یک فصل نمونه از مهندسی یک کامپایلر در مورد "مسائل عملی" را بخوانید.

حتی با مولدهای تجزیه کننده خودکار، نویسنده کامپایلر باید چندین مسئله را مدیریت کند تا یک تجزیه کننده قوی و کارآمد برای یک زبان برنامه نویسی واقعی تولید کند. این فصل به چندین موضوع می پردازد که در عمل مطرح می شوند.


مرور

کیت کوپر و لیندا تورکزون از محققان پیشرو در کامپایلر هستند که چندین کامپایلر پیشرفته را نیز ساخته اند. این کتاب با توضیح تکنیک های آزمایش شده و الگوریتم های جدید و ارائه توصیه های عملی در مورد مهندسی و به طرز ماهرانه ای هر دو جهان را در بر می گیرد. ساخت یک کامپایلر. مهندسی یک کامپایلر یک بررسی و توضیح غنی از تکنیک های مهم لازم برای ساخت یک کامپایلر مدرن است." --جیم لاروس، تحقیقات مایکروسافت

"کتاب به خوبی نوشته شده است، و به خوبی با نمودارها، جداول، و مثال های گویا پشتیبانی می شود. این کتاب درسی مناسبی برای استفاده در دوره های کامپایلر در سطح کارشناسی یا کارشناسی ارشد است، جایی که تمرکز اصلی این دوره بهینه سازی کد است."- - ACM's Computing Reviews.com

"این کتاب انبوهی از اطلاعات مفید است که به صورت آموزشی تهیه شده است، همراه با نکات مفید، نشانه های تاریخی و پیشنهادات برای مطالعه بیشتر. این کتاب کار مفیدی برای دانشجویان مقطع کارشناسی و متوسط ​​است که توسط نویسندگانی با مهارت های حرفه ای و تدریس عالی نوشته شده است. پیشینه. یک مهندس از کتاب به عنوان یک مرجع کلی استفاده می کند. برای موضوعات خاص، یک خواننده جاه طلب از انتشارات اخیر در حوزه موضوعی مشورت خواهد کرد."-- ACM's Computing Reviews.com

مرور

مقدمه کلاسیک ساخت کامپایلر به طور کامل با تکنیک های جدید و بینش های عملی به روز شده است

از پشت جلد

مهندسی یک کامپایلر ویرایش دوم کیث دی. کوپر و لیندا تورکزون

کامپایلرها حوزه مطالعاتی غنی هستند که کل دنیای علوم کامپیوتر را در یک ساختار زیبا گرد هم می‌آورند. کوپر و تورکزون موفق شده‌اند راهنمای خوش‌آمدگویی برای این سیستم‌های نرم‌افزاری ایجاد کنند و این نسخه جدید را با درس‌های واضح و جزئیاتی که به سادگی می‌بینید بهبود بخشند. باید به درستی انجام شود، در حالی که تصویر بزرگ را محکم در نظر داشته باشید. مهندسی یک کامپایلر یک همراه ارزشمند برای هر کسی که تازه به این موضوع می‌پردازد است.

--مایکل دی. اسمیت، رئیس دانشکده هنر و علوم، جان اچ. فینلی، جونیور، استاد مهندسی و علوم کاربردی، دانشگاه هاروارد

این ویرایش دوم کاملاً اصلاح‌شده Engineering a Compiler مملو از به‌روزرسانی‌های فنی و مطالب جدید است که آخرین پیشرفت‌ها در فناوری کامپایلر را پوشش می‌دهد. در این متن جامع با تکنیک های مهم برای ساخت یک کامپایلر مدرن آشنا می شوید. کیت کوپر و لیندا تورکزون، مربیان و محققان برجسته، اصول اولیه را با بینش‌های عمل‌گرایانه از تجربه خود در ساخت کامپایلرهای پیشرفته ترکیب می‌کنند. آنها به شما کمک می‌کنند تا تکنیک‌های مهمی مانند کامپایل زبان‌های امری و شی گرا، ساخت فرم‌های تخصیص تک استاتیک، زمان‌بندی دستورالعمل‌ها و تخصیص ثبت رنگ‌های گراف را کاملاً درک کنید.

امکانات

 

 

 

 

  • درمان عمیق الگوریتم ها و تکنیک های مورد استفاده در قسمت جلویی یک کامپایلر مدرن
  • تمرکز بر بهینه سازی کد و تولید کد، زمینه های اصلی تحقیق و توسعه اخیر
  • بهبود در ارائه، از جمله مرورهای مفهومی برای هر فصل، خلاصه و سؤالات مروری برای بخش‌ها، و قرار دادن برجسته تعاریف برای اصطلاحات جدید
  • نمونه هایی از چندین زبان برنامه نویسی مختلف از جمله جاوا، C، C++ و FORTRAN گرفته شده است

درباره نویسندگان

کیت کوپر دوئر، استاد در مهندسی محاسبات گروه علوم کامپیوتر، دانشگاه رایس.

لیندا تورکزون، دانشمند پژوهشی ارشد گروه علوم کامپیوتر دانشگاه رایس.

|

مهندسی یک کامپایلر ویرایش دوم کیث دی. کوپر و لیندا تورکزون

کامپایلرها حوزه مطالعاتی غنی هستند که کل دنیای علوم کامپیوتر را در یک ساختار زیبا گرد هم می‌آورند. کوپر و تورکزون موفق شده‌اند راهنمای خوش‌آمدگویی برای این سیستم‌های نرم‌افزاری ایجاد کنند و این نسخه جدید را با درس‌های واضح و جزئیاتی که به سادگی می‌بینید بهبود بخشند. باید به درستی انجام شود، در حالی که تصویر بزرگ را محکم در نظر داشته باشید. مهندسی یک کامپایلر یک همراه ارزشمند برای هر کسی که تازه به این موضوع می‌پردازد است.

--مایکل دی. اسمیت، رئیس دانشکده هنر و علوم، جان اچ. فینلی، جونیور، استاد مهندسی و علوم کاربردی، دانشگاه هاروارد

این ویرایش دوم کاملاً اصلاح‌شده Engineering a Compiler مملو از به‌روزرسانی‌های فنی و مطالب جدید است که آخرین پیشرفت‌ها در فناوری کامپایلر را پوشش می‌دهد. در این متن جامع با تکنیک های مهم برای ساخت یک کامپایلر مدرن آشنا می شوید. کیت کوپر و لیندا تورکزون، مربیان و محققان برجسته، اصول اولیه را با بینش‌های عمل‌گرایانه از تجربه خود در ساخت کامپایلرهای پیشرفته ترکیب می‌کنند. آنها به شما کمک می‌کنند تا تکنیک‌های مهمی مانند کامپایل زبان‌های امری و شی گرا، ساخت فرم‌های تخصیص تک استاتیک، زمان‌بندی دستورالعمل‌ها و تخصیص ثبت رنگ‌های گراف را کاملاً درک کنید.

امکانات

 

 

 

 

  • درمان عمیق الگوریتم ها و تکنیک های مورد استفاده در قسمت جلویی یک کامپایلر مدرن
  • تمرکز بر بهینه سازی کد و تولید کد، زمینه های اصلی تحقیق و توسعه اخیر
  • بهبود در ارائه، از جمله مرورهای مفهومی برای هر فصل، خلاصه و سؤالات مروری برای بخش‌ها، و قرار دادن برجسته تعاریف برای اصطلاحات جدید
  • نمونه هایی از چندین زبان برنامه نویسی مختلف از جمله جاوا، C، C++ و FORTRAN گرفته شده است

درباره نویسندگان

کیت کوپر دوئر، استاد در مهندسی محاسبات گروه علوم کامپیوتر، دانشگاه رایس.

لیندا تورکزون، دانشمند پژوهشی ارشد گروه علوم کامپیوتر دانشگاه رایس.

درباره نویسنده

دکتر کوپر، پروفسور بخش علوم کامپیوتر در دانشگاه رایس، رهبر پروژه کامپایلر Massively Scalar در رایس است که به بررسی مسائل مربوط به بهینه‌سازی و تولید کد برای ماشین‌های مدرن می‌پردازد. او همچنین عضو مرکز تحقیقات نرم افزار با کارایی بالا، مؤسسه رایانه و فناوری اطلاعات، و مرکز ارتباطات چند رسانه ای - همه در رایس است. او دروس ساخت کامپایلر را در مقاطع کارشناسی و کارشناسی ارشد تدریس می کند.

لیندا تورکزون محقق اصلی پروژه کامپایلر Massively Scalar در دانشگاه رایس، و پروژه نرم‌افزار توسعه اپلیکیشن Grid است که توسط برنامه نسل بعدی نرم‌افزار بنیاد ملی علوم حمایت می‌شود. او همچنین به عنوان مدیر اجرایی HiPerSoft و موسسه علوم کامپیوتر لوس آلاموس خدمت می کند. علایق تحقیقاتی او شامل تولید کد، تجزیه و تحلیل و بهینه سازی جریان داده بین رویه ای و محیط های برنامه نویسی است.

 

نظرات کاربران درباره کتاب Engineering a Compiler Second Edition

نظری در مورد این محصول توسط کاربران ارسال نگردیده است.
اولین نفری باشید که در مورد کتاب Engineering a Compiler Second Edition نظر می دهد.

ارسال نظر درباره کتاب Engineering a Compiler Second Edition

لطفا توجه داشته باشید که ایمیل شما منتشر نخواهد شد.

بر اساس سلیقه شما...

  Publisher ‏ : ‎ O'Reilly Media; 1st edition (December 2 ...
5,400,000 ریال
  Product details ASIN ‏ : ‎  B09BH8RF8M ...
4,480,000 ریال

codebazan

طراحی و اجرا: فروشگاه ساز سبدخرید