تفسیر انتزاعی
تفسیر انتزاعی، اجرای نسبی یک برنامه کامپیوتری و دستیابی به اطلاعات در مورد sematics ( بعنوان مثال ساختار کنترلی ، جریان اطلاعات ( بدون انجام محاسبات می باشد. تفسیر انتزاعی اغلب توسط کامپایلرها برای تجزیه و تحلیل برنامه ها و تصمیم گیری در مورد اینکه آیا یک بهینه سازی یا یک تبدیل به خصوص ، قابل استفاده هست یا خیر بکار می رود.
تفسیر انتزاعی توسط شخصی به نام پاتریک کوسوت رسمی شد.
آنچه که توسط برنامه مورد استفاده قرار می گیرد ( اغلب مقادیر داده ای و توابع ( در حوزه تفسیر انتزاعی توسط علائم نشان داده می شود و هر علامت این حوزه نشانگر مجموعه ای از مقادیر حقیقی ( واقعی) است.
بعنوان مثال، ما ممکن است علائم انتزاعی « +»، «.» و «-» را برای نشان دادن اعداد مثبت ، صفر و منفی بکار گیریم و سپس نسخه ای انتزاعی از عملگر ضرب به شکل *# تعریف کنیم که روی مقادیر انتزاعی عمل می کند:
| *# | + | 0 | -
| + | + | 0 | -
| 0 | 0 | 0 | 0
| - | - | 0 | +
|
تفسیر هنگامی صحت دارد که نتایج علمیات انتزاعی ، تقریب صحیحی از نتایج واقعی باشند.
معنی «یک تقریب صحیح» بستگی به چگونگی استفاده ما از نتایج این تجزیه و تحلیل دارد. اگر در این مثال ، فرض کنیم که مقادیر کوچکتر، از صحت بیشتری برخوردار هستند، آنگاه نتایج صحیح تفسیر عبارتند از: a*b =a#* b#< که در اینجا a# ، نسخه انتزاعی a می باشد و غیره.
اغلب یک تفسیر ، توسط حوزه های بکار رفته برای نمایش تایپهای اصلی و مقادیر انتزاعی که به ثابت ها نسبت میدهد ، مشخص می شود. ( که در اینجا منظور از ثابت ها توابعی اولیه همانند * است). تفسیر انواع ساختارها ( مثل توابع تعریف شده توسط کاربر و انواع جمع و ضرب) و عبارات موجود در برنامه را می توان بطور سیستماتیک توسط تعاریف و مقادیر اولیه از قبل تعریف شده در مفسر نتیجه گرفت.
یکی از موارد استفاده متداول تفسیر انتزاعی تجزیه و تحلیل استاتیک یا بدون تغییر است.
ابزارها
همچنین ببینید
پیوندهای خارجی
|
تفسیر انتزاعی
تفسیر انتزاعی، اجرای نسبی یک برنامه کامپیوتری و دستیابی به اطلاعات در مورد sematics ( بعنوان مثال ساختار کنترلی ، جریان اطلاعات ( بدون انجام محاسبات می باشد. تفسیر انتزاعی اغلب توسط کامپایلرها برای تجزیه و تحلیل برنامه ها و تصمیم گیری در مورد اینکه آیا یک بهینه سازی یا یک تبدیل به خصوص ، قابل استفاده هست یا خیر بکار می رود.
تفسیر انتزاعی توسط شخصی به نام پاتریک کوسوت رسمی شد.
آنچه که توسط برنامه مورد استفاده قرار می گیرد ( اغلب مقادیر داده ای و توابع ( در حوزه تفسیر انتزاعی توسط علائم نشان داده می شود و هر علامت این حوزه نشانگر مجموعه ای از مقادیر حقیقی ( واقعی) است.
بعنوان مثال، ما ممکن است علائم انتزاعی « +»، «.» و «-» را برای نشان دادن اعداد مثبت ، صفر و منفی بکار گیریم و سپس نسخه ای انتزاعی از عملگر ضرب به شکل # * تعریف کنیم که روی مقادیر انتزاعی عمل می کند:
+ | + 0 -
0 | 0 0 0
- | - 0 +
تفسیر هنگامی صحت دارد که نتایج علمیات انتزاعی ، تقریب صحیحی از نتایج واقعی باشند.
معنی «یک تقریب صحیح» بستگی به چگونگی استفاده ما از نتایج این تجزیه و تحلیل دارد. اگر در این مثال ، فرض کنیم که مقادیر کوچکتر، از صحت بیشتری برخوردار هستند، آنگاه نتایج صحیح تفسیر عبارتند از:# (a*b) =a#* b#< که در اینجا a# ، نسخه انتزاعی a می باشد و غیره.
اغلب یک تفسیر ، توسط حوزه های بکار رفته برای نمایش تایپهای اصلی و مقادیر انتزاعی که به ثابت ها نسبت میدهد ، مشخص می شود. ( که در اینجا منظور از ثابت ها توابعی اولیه همانند * است). تفسیر انواع ساختارها ( مثل توابع تعریف شده توسط کاربر و انواع جمع و ضرب) و عبارات موجود در برنامه را می توان بطور سیستماتیک توسط تعاریف و مقادیر اولیه از قبل تعریف شده در مفسر نتیجه گرفت.
یکی از موارد استفاده متداول تفسیر انتزاعی تجزیه و تحلیل استاتیک یا بدون تغییر است.
ابزارها
همچنین نگاه کنید به
لینک های خارجی
|