دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: [1 ed.]
نویسندگان: Reinhard Wilhelm. Helmut Seidl (auth.)
سری:
ISBN (شابک) : 3642149081, 9783642149085
ناشر: Springer-Verlag Berlin Heidelberg
سال نشر: 2010
تعداد صفحات: 187
[201]
زبان: English
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 1 Mb
در صورت تبدیل فایل کتاب Compiler Design: Virtual Machines به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب طراحی کامپایلر: ماشین های مجازی نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
در حالی که کامپایلرهای زبان های برنامه نویسی سطح بالا، سیستم های نرم افزاری پیچیده بزرگی هستند، اما ویژگی های خاصی دارند که آنها را از سایر سیستم های نرم افزاری متمایز می کند. عملکرد آنها تقریباً کاملاً به خوبی تعریف شده است - در حالت ایدهآل توضیحات کامل و دقیقی از زبان مبدأ و مقصد وجود دارد، در حالی که توضیحات اضافی از رابطهای سیستم عامل، سیستم برنامهنویسی و محیط برنامهنویسی و سایر کامپایلرها و کتابخانهها اغلب در دسترس است. پیادهسازی سیستمهای کاربردی مستقیماً در زبان ماشین هم دشوار و هم مستعد خطا است، که منجر به منسوخ شدن برنامههایی میشود که به سرعت رایانههایی که برای آنها توسعه داده شدهاند، منسوخ میشوند. با توسعه زبان های برنامه نویسی سطح بالاتر مستقل از ماشین نیاز به ارائه کامپایلرهایی بود که قادر به ترجمه برنامه ها به زبان ماشین بودند. با توجه به این چالش اساسی، کارهای فرعی مختلف گردآوری از دهه 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.