تمت ترجمة المحتوى الموجود على هذا الموقع باستخدام الذكاء الاصطناعي (AI) أو تقنية الترجمة الآلية، وقد تحتوي على أخطاء.

Skip to content
Programming Languages

الفاصلة المنقوطة المعيبة

View Publication

Author

ماك باتي وسيمون كوكسي (UKC)، آلان جيفري (Roblox)، إيليا كايسين وأنتون بودكوبايف (JetBrains)، جيمس ريلي (جامعة ديبول)

Venue

محاضر ACM حول لغات البرمجة 2021

Abstract

تروي منطقيات البرامج ودلالاتها قصة ممتعة عن التركيب التسلسلي: عند تنفيذ (S1; S2)، ننفذ أولاً S1 ثم S2. ولكن لتحسين الأداء، تنفذ المعالجات التعليمات بشكل غير متسلسل، وتعيد المترجمات ترتيب البرامج بشكل أكثر جذرية. وبحكم تصميمها، لا يمكن للأنظمة أحادية الخيط ملاحظة عمليات إعادة الترتيب هذه؛ لكن الأنظمة متعددة الخيوط يمكنها ذلك، مما يجعل القصة أقل متعة بكثير. تُعرف المحاولة الرسمية لفهم الفوضى الناتجة عن ذلك باسم "نموذج الذاكرة المرن". فالموديلات السابقة إما تفشل في معالجة التركيب التسلسلي بشكل مباشر، أو تفرض قيودًا مفرطة على المعالجات والمترجمات، أو تسمح بسلوكيات غير منطقية لا يمكن ملاحظتها في الواقع. ولدعم التركيب التسلسلي مع استهداف الأجهزة الحديثة، نقوم بإثراء النهج القياسي القائم على الأحداث بشروط مسبقة ومجموعات من محولات المسندات. عند حساب معنى (S1;S2)، يتم اختيار محول المسند المطبق على الشرط المسبق لحدث e من S2 بناءً على مجموعة الأحداث في S1 التي يعتمد عليها e. نطبق هذا النهج على نموذجي ذاكرة موجودين.