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