کامپیوترها

تکنیک های تجزیه: راهنمای عملی (سری الیس هوروود در رایانه ها و کاربردهای آنها)

Parsing Techniques: A Practical Guide (Ellis Horwood Series in Computers and Their Applications)

دانلود کتاب Parsing Techniques: A Practical Guide (Ellis Horwood Series in Computers and Their Applications) (به فارسی: تکنیک های تجزیه: راهنمای عملی (سری الیس هوروود در رایانه ها و کاربردهای آنها)) نوشته شده توسط «Dick Grune – Ceriel J. H. Jacobs»


اطلاعات کتاب تکنیک های تجزیه: راهنمای عملی (سری الیس هوروود در رایانه ها و کاربردهای آنها)

موضوع اصلی: کامپیوترها

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

ناشر: Ellis Horwood Ltd

نویسنده: Dick Grune – Ceriel J. H. Jacobs

زبان: English

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

سال انتشار: 1991

تعداد صفحه: 318

حجم کتاب: 2 مگابایت

کد کتاب: 9780136514312 , 0136514316

توضیحات کتاب تکنیک های تجزیه: راهنمای عملی (سری الیس هوروود در رایانه ها و کاربردهای آنها)

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

هیچ کتاب دیگری به وضوح و جامعیت این کتاب نزدیک نشده است.

وقتی سعی می‌کنید بیشتر ادبیات مربوط به تجزیه را بخوانید، نویسندگان تمایل دارند عبارات زیادی را بدون توضیح آنها مطرح کنند. تجزیه کننده “قطعی”، تجزیه کننده “متعارف”، تجزیه کننده “جهت” دقیقاً چیست؟ گرون و جاکوبز هر یک از این تمایزات را به طور واضح توضیح می دهند و همه الگوریتم های شناخته شده را در زمینه مقایسه آنها با بقیه زمینه ها قرار می دهند. چگونه الگوریتم‌ها با چه زبانی می‌توانند تجزیه و تحلیل کنند، سرعت آن‌ها چقدر است و چه مقدار از کار را می‌توان زودتر از موعد انجام داد، مقایسه می‌کنند؟ این کتاب به همه این مبادلات می پردازد، اما در پیچیدگی مجانبی متوقف نمی شود: در فصل 17 (بررسی تطبیقی)، آنها خاطرنشان می کنند که تجزیه کننده های عمومی ممکن است ضریب 10 یا خیلی کندتر از روش های قطعی باشند، حتی اگر هر دو این روش ها باشند. خطی این بررسی اجمالی سطح بالا و نظرسنجی تطبیقی ​​چیزی است که من به شدت به دنبال آن بودم و هیچ جایی قابل مقایسه با آنها پیدا نکردم.

همچنین بسیاری از اطلاعات پیش زمینه مهمی وجود دارد که سایر نویسندگان تصور می کنند شما می دانید: برای مثال، آیا می دانستید که وقتی نویسندگان می گویند “LL” تقریباً همیشه به معنای “LL قوی” هستند، مگر اینکه به طور خاص بگویند “LL کامل؟” آیا در مورد تفاوت بین LL قوی، LL ساده و LL کامل کاملاً واضح هستید؟ اگر مطمئن نیستید، گرون و جیکوبز تمام توضیحاتی را که برای درک کامل نیاز دارید به شما می دهند.

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

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


I have spent the last six months of my life learning as much as I can about parsing. I own half a shelf of compiler books, and I have flipped through the pages of half a shelf more.

No other book approaches the clarity and comprehensiveness of this book.

When you try to read most literature about parsing, authors tend to throw around a lot of terms without explaining them. What exactly is a “deterministic” parser, a “canonical” parser, a “directional” parser? Grune and Jacobs explain every one of these distinctions lucidly, and put all known algorithms in context of how they compare to the rest of the field. How do the algorithms compare in what languages they can parse, how fast they are, and how much of the work can be done ahead of time? The book addresses all of these trade-offs, but doesn’t stop at asymptotic complexity: in chapter 17 (the comparative survey), they note that general parsers may be a factor of ten or so slower than deterministic methods, even though both are linear. This high-level overview and comparative survey are something I was desperately seeking, and I’ve found nothing comparable to them anywhere.

There is also a lot of important background information that other authors tend to assume you know: for example, did you know that when authors say “LL” they almost always mean “strong LL” unless they specifically say “full LL?” Are you totally clear on the difference between strong LL, simple LL, and full LL? If you’re not sure, Grune and Jacobs will give you all the explanation you need to fully understand.

This book strikes a perfect balance between breadth and depth. All significant algorithms are covered, most with enough detail to fully understand and implement them, but Grune and Jacobs punt on less practical material like proofs or rigorous formal descriptions. That information is never more than a citation away though, thanks to the 417-entry annotated bibliography, which gives you not only references to source material but a paragraph or two describing their key results.

I couldn’t be happier about adding this book to my bookshelf of compiler books — it quickly became the book I refer to most often, and I thank Grune and Jacobs for this superb guide to this vast and diverse field of computer science.

دانلود کتاب «تکنیک های تجزیه: راهنمای عملی (سری الیس هوروود در رایانه ها و کاربردهای آنها)»

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