سیستم نوع: تفاوت میان نسخهها
محتوای حذفشده محتوای افزودهشده
بدون خلاصۀ ویرایش |
|||
خط ۱:
'''سیستم انواع''' مجموعهای از قوانین است که ویژگی «[[نوع داده|نوع]]» را به مفاهیم مختلف یک زبان برنامهنویسی، مانند [[متغیر (برنامهنویسی)|متغیرها]]، [[رویه (علوم رایانه)|رویهها]] و عبارات، نسبت میدهد. هر زبان برنامهنویسی دارای تعدادی نوع است که داده ساختارهای مختلف مورد استفاده در برنامهها را دستهبندی
== هدف سیستم انواع ==
هدف اصلی سیستم انواع جلوگیری از وقوع
==
متغیرهای یک زبان میتوانند [[مقدار (علوم رایانه)|مقدارهای]] مختلفی بگیرند. حد بالای این مقادیر [[نوع داده|نوع]] نامیده میشود{{sfn|Cardelli|2004|p=1|ps=: "The fundamental purpose of a type system is to prevent the occurrence of execution errors during the running of a program."}}. برای مثال زبان برنامهنویسی [[جاوا (زبان برنامهنویسی)|جاوا]] دارای [[نوع داده بولی|نوع
== خطاهای اجرایی و ایمنی ==
خطاهای اجرایی
* '''خطاهای توقفی:''' خطاهایی که باعث توقف روند اجرای برنامه میشوند.
* '''خطاهای غیرتوقفی:''' خطاهایی که برنامه را متوقف نکرده و باعث بروز رفتارهای
قسمتی از برنامه که منجر به وقوع خطای غیرتوقفی نشود را امن مینامند. اگر
== ویژگیهای یک سیستم انواع ==
نوعدادههای یک زبان برنامهنویسی از لحاظ صوری بودن تعریفشان با دیگر اجزای زبان تفاوتهایی دارند. تعریف انواع داده از این حیث مابین یادداشتهای غیر صوری یک زبان و تعریف مشخصات جزئیتر است؛ از یادداشتهای زبان صوریتر است و از مشخصات جزئی راحتتر قابل پردازش است.
ویژگیهای پایهای یک سیستم انواع عبارتاند از:
* سیستم انواع باید به صورت [[تصمیمپذیری(منطق)|تصمیمپذیر]] قابل تصدیق باشد. به این معنی که الگوریتمی (که به الگوریتم [
* سیستم انواع باید شفاف باشد. برنامهنویس باید قادر باشد بدون ابهام رفتار یک سیستم انواع و بررسی نوعداده آن را پیشبینی کند.
* بررسی نوعاداه در یک سیستم انواع باید قابل تحمیل باشد؛ اعلام انواع متغیرها باید در زمان کامپایل به صورت ایستا قابل بررسی باشد. بررسیهای بیشتر باید در زمان اجرا به صورت پویا انجام بگیرند.<ref>https://en.wikipedia.org/wiki/Type_system#Static_and_dynamic_type_checking_in_practice</ref>
== منابع ==
|