برنامه نويسي

طراحی کامپایلر: ماشین های مجازی

Compiler Design: Virtual Machines

دانلود کتاب Compiler Design: Virtual Machines (به فارسی: طراحی کامپایلر: ماشین های مجازی) نوشته شده توسط «Reinhard Wilhelm – Helmut Seidl (auth.)»


اطلاعات کتاب طراحی کامپایلر: ماشین های مجازی

موضوع اصلی: کامپیوتر – برنامه نویسی

نوع: کتاب الکترونیکی

ناشر: Springer-Verlag Berlin Heidelberg

نویسنده: Reinhard Wilhelm – Helmut Seidl (auth.)

زبان: english

فرمت کتاب: PDF (قابل تبدیل به سایر فرمت ها)

سال انتشار: 2010

تعداد صفحه: 187 / 201

حجم فایل: 1.40 مگابایت

کد کتاب: 3642149081 , 9783642149085

نوبت چاپ: 1

توضیحات کتاب طراحی کامپایلر: ماشین های مجازی

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

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

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


While compilers for high-level programming languages are large complex software systems, they have particular characteristics that differentiate them from other software systems. Their functionality is almost completely well-defined – ideally there exist complete precise descriptions of the source and target languages, while additional descriptions of the interfaces to the operating system, programming system and programming environment, and to other compilers and libraries are often available. The implementation of application systems directly in machine language is both difficult and error-prone, leading to programs that become obsolete as quickly as the computers for which they were developed. With the development of higher-level machine-independent programming languages came the need to offer compilers that were able to translate programs into machine language. Given this basic challenge, the different subtasks of compilation have been the subject of intensive research since the 1950s.

This book is not intended to be a cookbook for compilers, instead the authors’ presentation reflects the special characteristics of compiler design, especially the existence of precise specifications of the subtasks. They invest effort to understand these precisely and to provide adequate concepts for their systematic treatment. This is the first book in a multivolume set, and here the authors describe what a compiler does, i.e., what correspondence it establishes between a source and a target program. To achieve this the authors specify a suitable virtual machine (abstract machine) and exactly describe the compilation of programs of each source language into the language of the associated virtual machine for an imperative, functional, logic and object-oriented programming language.

This book is intended for students of computer science. Knowledge of at least one imperative programming language is assumed, while for the chapters on the translation of functional and logic programming languages it would be helpful to know a modern functional language and Prolog. The book is supported throughout with examples, exercises and program fragments.

دانلود کتاب «طراحی کامپایلر: ماشین های مجازی»

مبلغی که بابت خرید کتاب می‌پردازیم به مراتب پایین‌تر از هزینه‌هایی است که در آینده بابت نخواندن آن خواهیم پرداخت.

برای دریافت کد تخفیف ۲۰ درصدی این کتاب، ابتدا صفحه اینستاگرام کازرون آنلاین (@kazerun.online ) را دنبال کنید. سپس، کلمه «بلیان» را در دایرکت ارسال کنید تا کد تخفیف به شما ارسال شود.

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