اوکام

دانشنامه عمومی

اوکام (زبان برنامه نویسی). اوکام ( به انگلیسی: occam ) یک زبان برنامه نویسی همزمان است و براساس جریان جبری فرایندهای ترتیبی ارتباطی ( csp ) بناشده و بسیاری از ویژگی هایش را به اشتراک می گذارد. این زبان برنامه نویسی به افتخار فیلسوف ویلیام اوکام شخصی که اصل تیغ اوکام از وی گرفته شده به این اسم نام گذاری شده است.
اوکام یک زبان رویه ای امری است ( مانند پاسکال ) . این زبان توسط دیوید می و دیگران در شرکت inmos ( با علامت تجاری INMOS ) توسعه داده شد؛ توسط تونی هور به عنوان زبان برنامه نویسی اختصاصی ریزپردازنده فرستنده خودشان و درعین حال قابل اجرا در باقی سیستم عامل های حاضر دیگر رهنمود شد. شناخته شده ترین نسخه، اوکام ۲ است که راهنمای برنامه نویسی آن توسط اریکسون زینت و دیگران در شرکت inmos نوشته شد.
در مثال های زیر تورفتگی ها و قالب بندی ها برای تجزیه کردن کد مهم هستند: عبارات با پایان خط، خاتمه میبابند؛ لیست این عبارات باید در یک سطح فرورفتگی باشد. این ویژگی که قاعده آف ساید ( off - side - rule ) نامیده می شود، دز زبان های دیگری مانند پایتون و هسکل نیز یافت می شود.
ارتباط بین فرایندها از طریق کانال های نامگذاری شده ای انجام می گیرد. یک فرایند داده ها را از طریق ! از کانال تولید می کند در حالی که دیگری داده ها را با ؟ درون کانال می گذارد. ورودی ها و خروجی ها تا زمانی که طرف دیگر آمادهٔ پیشنهاد یا قبول داده نباشد، پیش نمی روند. ( در مواردی که پیش نروند گفته می شود فرایند در کانال مسدود می شود. هرچند برنامه نه به درازا می کشد و نه نظرسنجی می کند. به این ترتیب اصطلاحاتی مانند انتظار، تعلیق یا تسلیم، این رفتار را می رساند. همچنین دیگر فرایندهای مستقل را مسدود نمی کند ) مثال ها ( c متغیر است ) :
keyboard  ? c screen  ! c SEQ لیستی از عبارات که به ترتیب معین شده اند را معرفی می کند. برخلاف بیشتر زبان های برنامه نویسی این یک چیز ضمنی نیست.
SEQ x  := x + 1 y  := x * x PAR لیستی از عبارات که ممکن است به طور همزمان معین شوند را شروع می کند. مثال:
PAR p ( ) q ( ) ALT لیستی از دستورات قفل شده را مشخص می کند. قفل ها ترکیبی از حالت بولی و عبارات ورودی هستند؛ هر دو اختیاری. هر قفل برای حالتی که درست است و کانال ورودی ای که آماده است، موفق عمل می کند. یکی از گزینه های موفق برای اجرا انتخاب می شود. مثال:
عکس اوکام (زبان برنامه نویسی)عکس اوکام (زبان برنامه نویسی)
این نوشته برگرفته از سایت ویکی پدیا می باشد، اگر نادرست یا توهین آمیز است، لطفا گزارش دهید: گزارش تخلف

پیشنهاد کاربران

بپرس