كاليدوسكوب (لغة برمجة)
لغة برمجة Kaleidoscope هي لغة برمجة قيودية تُدمج القيود في لغة برمجة كائنية التوجه إجرائية . تُضيف الكلمات المفتاحية always و once و assert .. during (سابقًا while .. assert ) للتعبير عن ثوابت العلاقات. تحتوي الكائنات على مُنشئات قيودية، وهي ليست دوالًا، لفرض معاني أنواع البيانات المُعرّفة من قِبل المستخدم.
توجد ثلاث نسخ من لغة Kaleidoscope تُظهر تطورًا من الأسلوب التصريحي إلى الأسلوب الإجرائي المتزايد. وفيما يلي الاختلافات بينها. [ 1 ]
| كاليدوسكوب 90 | كاليدوسكوب 91 | كاليدوسكوب 93 | |
|---|---|---|---|
| تقييم القيود | كسول | مشتاق | مشتاق |
| المتغيرات | بث مباشر | بث مباشر | إلزامي |
| القيود المتزامنة | حازم | حازم | غير صارم |
| بناء الجملة | يشبه الحديث العابر | شبيه بالألغول | شبيه بالألغول |
| نموذج القيود | التحسين | التحسين | اضطراب |
| إرسال الأساليب | أعزب | عديد | عديد |
| تكليف | كقيد | كقيد | مدمر |
مثال
قارن بين جزئي الكود، وكلاهما يسمح للمستخدم بسحب مستوى الزئبق في مقياس حرارة رسومي بسيط باستخدام الماوس.
بدون قيود:
بينما زر الماوس مضغوط، نفّذ old <- mercury.top; mercury.top <- mouse.location.y; درجة الحرارة <- ارتفاع الزئبق / المقياس؛ عرض_الرقم( درجة الحرارة ); إذا كان القديم < قمة الزئبق، delta_grey( old, mercury.top ); وإلا إذا كان القديم > أعلى قيمة الزئبق delta_white( mercury.top, old ); نهاية الشرط؛ نهاية الحلقة؛
مع مراعاة القيود التالية:
دائماً: درجة الحرارة = ارتفاع الزئبق / المقياس؛ دائماً: مستطيل أبيض (مقياس حرارة)؛ دائماً: مستطيل رمادي (زئبق)؛ دائماً: عرض الرقم (درجة الحرارة)؛ بينما زر الماوس مضغوط، نفّذ mercury.top = mouse.location.y; نهاية الحلقة؛
مراجع
- لوبيز، غوس؛ بيورن فريمان-بينسون؛ آلان بورنينغ (1994). "كاليديوسكوب: لغة برمجة إجرائية مقيدة". برمجة القيود . سبرينغر-فيرلاغ. ص 313-329 .
- ماريوت، كيم؛ بيتر ج. ستوكي (1998). البرمجة مع القيود: مقدمة . مطبعة معهد ماساتشوستس للتكنولوجيا.رقم الكتاب المعياري الدولي (ISBN) 0-262-13341-5
- ↑ لوبيز، غاس؛ فريمان-بنسون، بيورن؛ بورنينغ، آلان (1993). "كاليديوسكوب: لغة برمجة إجرائية مقيدة" (ملف PDF) . constraints.cs.washington.edu . تاريخ الاسترجاع: 30 ديسمبر 2023 .
فئات :
- لغات البرمجة الإجرائية
- البرمجة المقيدة
- لغات البرمجة المقيدة
- مواضيع لغات البرمجة
