Compilers: Principles, Techniques, and Tools, 2nd Edition

تاریخ: 1398/12/26 10:34
توسط: MotoMan
امتیاز: ۱
تعداد بازدید: ۶۶۸۶
دیدگاه ها: ۰
برچسب ها: Compiler Design |
کتاب Compilers: Principles, Techniques, and Tools, 2nd Edition
Prentice Hall
Alfred V. Aho, Jeffrey D. Ullman, Monica S. Lam, Ravi Sethi
9780321486813
2006
1000
English

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

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

تمامی فصل‌های ویرایش دوم کتاب کامپایلرها: اصول، تکنیک‌ها و ابزارها، که در نزد اساتید، دانشجویان و توسعه دهندگان در سراسر جهان با عنوان «کتاب اژدها» شناخته می‌شود کاملاً مورد بازنگری قرار گرفته است تا منعکس کننده تحولات در مهندسی نرم افزار، زبان‌های برنامه نویسی و معماری کامپیوتر که از سال 1986 و بعد از انتشار آخرین نسخه از این کتاب، رخ داده است باشد. آلفرد آهو، نویسنده این کتاب با تأیید این نکته که خوانندگان معدودی به دنبال ساختن یک کامپایلر هستند، تمرکز خود را بر روی مجموعه گسترده ای از مسائل پیش رو در طراحی و توسعه نرم افزار حفظ می‌کند.


Table of Contents:
- 1 Introduction
- 2 A Simple Syntax-Directed Translator
- 3 Lexical Analysis
- 4 Syntax Analysis
- 5 Syntax-Directed Translation
- 6 Intermediate-Code Generation
- 7 Run-Time Environments
- 8 Code Generation
- 9 Machine-Independent Optimizations
- 10 Instruction-Level Parallelism
- 11 Optimizing for Parallelism and Locality
- 12 Interprocedural Analysis
- A: A Complete Front End
- B: Finding Linearly Independent Solutions

کانال تلگرام سایت

گروه تلگرام سایت

like می پسندم
dislike به درد نمی خوره
مطالب مشابه
دیدگاه ها
  • اولین نفری باشید که نظری می دهید!
loading...

لطفا منتظر بمانید...