علم الدلالة (لغات البرمجة)
في نظرية لغات البرمجة ، تُعرف الدلالات بأنها الدراسة المنطقية الرياضية الدقيقة لمعاني لغات البرمجة . [ 1 ] تُسند الدلالات معنى حسابيًا للسلاسل النصية الصحيحة في بنية لغة البرمجة . وهي وثيقة الصلة بدلالات البراهين الرياضية ، وغالبًا ما تتداخل معها .
يصف علم الدلالة العمليات التي يتبعها الحاسوب عند تنفيذ برنامج بلغة برمجة محددة. ويمكن تحقيق ذلك من خلال وصف العلاقة بين مدخلات ومخرجات البرنامج، أو تقديم شرح لكيفية تنفيذ البرنامج على منصة معينة ، مما يُنشئ نموذجًا للحوسبة .
تاريخ
في عام 1967، نشر روبرت دبليو فلويد بحثًا بعنوان "إسناد معانٍ للبرامج "؛ وكان هدفه الرئيسي "وضع معيار صارم لإثباتات برامج الحاسوب، بما في ذلك إثباتات الصحة والتكافؤ والإنهاء". [ 2 ] [ 3 ] وكتب فلويد أيضًا: [ 2 ]
في منهجنا، يقوم التعريف الدلالي للغة البرمجة على تعريف نحوي . ويجب أن يحدد هذا التعريف أي العبارات في البرنامج الصحيح نحوياً تمثل أوامر ، وما هي الشروط التي يجب فرضها على تفسير كل أمر.
في عام 1969، نشر توني هوار ورقة بحثية حول منطق هوار الذي استند إلى أفكار فلويد، والتي تُعرف الآن أحيانًا مجتمعة باسم الدلالات البديهية . [ 4 ] [ 5 ]
في سبعينيات القرن العشرين، ظهر مصطلحا الدلالات التشغيلية والدلالات الدلالية . [ 5 ]
ملخص
يشمل مجال الدلالات الرسمية كل ما يلي:
- تعريف النماذج الدلالية
- العلاقات بين النماذج الدلالية المختلفة
- العلاقات بين مختلف مناهج فهم المعنى
- العلاقة بين الحوسبة والهياكل الرياضية الأساسية من مجالات مثل المنطق ، ونظرية المجموعات ، ونظرية النماذج ، ونظرية الفئات ، وما إلى ذلك.
ترتبط هذه الدراسة ارتباطاً وثيقاً بمجالات أخرى في علوم الحاسوب مثل تصميم لغات البرمجة ، ونظرية الأنواع ، والمترجمات والمفسرات ، والتحقق من البرامج ، والتحقق من النماذج .
الأساليب
توجد العديد من المناهج في علم الدلالة الرسمي؛ وهذه تنتمي إلى ثلاث فئات رئيسية:
- الدلالات الدلالية [ 6 ] ،حيث تُفسَّر كل عبارة في اللغة على أنها دلالة ، أي معنى مفاهيمي يمكن تصوره بشكل مجرد. غالبًا ما تكون هذه الدلالات كائنات رياضية تنتمي إلى فضاء رياضي، ولكن ليس من الضروري أن تكون كذلك. وكضرورة عملية، تُوصَف الدلالات باستخدام شكل من أشكال الترميز الرياضي، والذي يمكن بدوره صياغته كلغة وصفية دلالية. على سبيل المثال، غالبًا ما تُترجم الدلالات الدلالية للغات الوظيفية اللغة إلى نظرية المجال . كما يمكن أن تُستخدم الأوصاف الدلالية الدلالية كترجمات تركيبية من لغة برمجة إلى اللغة الوصفية الدلالية، وأن تُستخدم كأساس لتصميم المترجمات .
- الدلالات التشغيلية ، [ 7 ] حيث يتم وصف تنفيذ اللغة مباشرةً (بدلاً من الترجمة). تتوافق الدلالات التشغيلية بشكل عام مع التفسير ، على الرغم من أن "لغة التنفيذ" الخاصة بالمفسر هي عادةً صيغة رياضية. قد تُعرّف الدلالات التشغيلية آلةً مجردة (مثل آلة SECD )، وتُضفي معنىً على العبارات من خلال وصف التحولات التي تُحدثها على حالات الآلة. بدلاً من ذلك، كما هو الحال مع حساب لامدا البحت ، يمكن تعريف الدلالات التشغيلية من خلال التحويلات النحوية على عبارات اللغة نفسها.
- الدلالة البديهية ، [ 8 ] حيث يُعطى معنى للعبارات من خلال وصف البديهيات التي تنطبق عليها. لا تُميّز الدلالة البديهية بين معنى العبارة والصيغ المنطقية التي تصفها؛ فمعناها هو بالضبط ما يمكن إثباته عنها في منطق معين. المثال الكلاسيكي للدلالة البديهية هو منطق هوار .
بصرف النظر عن الاختيار بين المناهج الدلالية أو التشغيلية أو البديهية، فإن معظم الاختلافات في الأنظمة الدلالية الرسمية تنشأ من اختيار الشكلية الرياضية الداعمة.
الاختلافات
تتضمن بعض الاختلافات في الدلالات الرسمية ما يلي:
- دلالات الفعل [ 9 ] هي نهج يحاول تقسيم الدلالات الدلالية إلى وحدات، وتقسيم عملية الصياغة الرسمية إلى طبقتين (الدلالات الكلية والجزئية) وتحديد ثلاثة كيانات دلالية مسبقًا (الأفعال والبيانات والمُنتِجات) لتبسيط المواصفات؛
- الدلالات الجبرية [ 8 ] هي شكل من أشكال الدلالات البديهية القائمة على القوانين الجبرية لوصف دلالات البرامج والاستدلال عليها بطريقة رسمية . كما أنها تدعم الدلالات الدلالية والدلالات التشغيلية ؛
- تُعرّف قواعد السمات [ 10 ] أنظمةً تحسب بشكل منهجي " البيانات الوصفية " (المسماة بالسمات ) لمختلف حالات بناء الجملة في اللغة . ويمكن فهم قواعد السمات على أنها دلالات وصفية حيث تكون اللغة الهدف هي اللغة الأصلية مُثرية بتعليقات السمات. وإلى جانب الدلالات الرسمية، استُخدمت قواعد السمات أيضًا لتوليد التعليمات البرمجية في المترجمات ، ولإثراء القواعد العادية أو الخالية من السياق بشروط حساسة للسياق .
- تستخدم الدلالات الفئوية (أو "الوظيفية") [ 11 ] نظرية الفئات كصيغة رياضية أساسية. وعادةً ما يُثبت أن الدلالات الفئوية تتوافق مع بعض الدلالات البديهية التي تُقدم عرضًا نحويًا للبنى الفئوية. كما أن الدلالات الدلالية غالبًا ما تكون أمثلة على الدلالات الفئوية العامة؛ [ 12 ]
- دلالات التزامن [ 13 ] هي مصطلح شامل لأي دلالات رسمية تصف العمليات الحسابية المتزامنة. وقد تضمنت الصيغ الرسمية المتزامنة ذات الأهمية التاريخية نموذج الممثل وحسابات العمليات ؛
- يستخدم علم دلالات الألعاب [ 14 ] استعارة مستوحاة من نظرية الألعاب ؛
- دلالات محول المسند ، [ 15 ] التي طورها إدسكار دبليو ديجكسترا ، تصف معنى جزء البرنامج على أنه الدالة التي تحول الشرط اللاحق إلى الشرط المسبق اللازم لإنشائه.
وصف العلاقات
لأسبابٍ عديدة، قد يرغب المرء في وصف العلاقات بين الدلالات الرسمية المختلفة. على سبيل المثال:
- لإثبات أن دلالات تشغيلية معينة للغة ما تُحقق الصيغ المنطقية لدلالات بديهية لتلك اللغة. يُبين هذا البرهان أن الاستدلال حول استراتيجية تفسيرية (تشغيلية) معينة باستخدام نظام برهان (بديهي) معين أمرٌ "سليم" .
- لإثبات أن الدلالات التشغيلية على آلة عالية المستوى ترتبط، من خلال محاكاة ، بالدلالات على آلة منخفضة المستوى، حيث تحتوي الآلة المجردة منخفضة المستوى على عمليات أولية أكثر من تعريف الآلة المجردة عالية المستوى للغة معينة. يُظهر هذا البرهان أن الآلة منخفضة المستوى "تُنفذ بدقة" الآلة عالية المستوى.
من الممكن أيضاً ربط دلالات متعددة من خلال التجريدات عبر نظرية التفسير المجرد .
انظر أيضاً
مراجع
- ↑ جوجين، جوزيف أ. (1975). "دلالات الحوسبة". نظرية الفئات المطبقة على الحوسبة والتحكم . سلسلة محاضرات في علوم الحاسوب. المجلد 25. سبرينغر . الصفحات 151-163 . doi : 10.1007/3-540-07142-3_75 . ISBN 978-3-540-07142-6.
- 1 2 فلويد، روبرت و. (1967). "إسناد معانٍ للبرامج" (ملف PDF) . في شوارتز، جيه تي (محرر). الجوانب الرياضية لعلوم الحاسوب . وقائع ندوة الرياضيات التطبيقية. المجلد 19. الجمعية الرياضية الأمريكية. الصفحات 19-32 . ISBN 0821867288.
- ↑ كنوت، دونالد إي. "قرار تذكاري: روبرت دبليو فلويد (1936-2001)" (ملف PDF) . نصب تذكارية لأعضاء هيئة التدريس بجامعة ستانفورد . الجمعية التاريخية لستانفورد.
- ↑ هوار، سي. أ. ر. (أكتوبر 1969). "أساس بديهي لبرمجة الحاسوب" . اتصالات رابطة آلات الحوسبة . 12 (10): 576-580 . doi : 10.1145/363235.363259 . S2CID 207726175 .
- 1 2 وينسكل، جلين (1993). الدلالات الرسمية للغات البرمجة : مقدمة . كامبريدج، ماساتشوستس: مطبعة معهد ماساتشوستس للتكنولوجيا. ص. xv . ISBN 978-0-262-23169-5.
- ↑ شميدت، ديفيد أ. (1986). الدلالات الدلالية: منهجية لتطوير اللغة . دار نشر ويليام سي. براون. رقم ISBN 9780205104505.
- ↑ بلوتكين، جوردون د. (1981). منهج بنيوي للدلالات التشغيلية (تقرير). تقرير فني DAIMI FN-19. قسم علوم الحاسوب، جامعة آرهوس .
- 1 2 جوجين، جوزيف أ .؛ ثاتشر، جيمس و.؛ فاغنر، إريك ج.؛ رايت، جيسي ب. (1977). "دلالات الجبر الأولي والجبر المتصل" . مجلة ACM . 24 (1): 68-95 . doi : 10.1145/321992.321997 . S2CID 11060837 .
- ↑ موسيس، بيتر د. (1996). نظرية وممارسة دلالات الفعل (تقرير). تقرير بريكس RS9653. جامعة آرهوس .
- ↑ ديرانسارت، بيير؛ جوردان، مارتن؛ لورهو، برنارد (1988). "قواعد السمات: تعريفات وأنظمة ومراجع" . سلسلة محاضرات في علوم الحاسوب 323. سبرينغر-فيرلاغ . ISBN 9780387500560.
- ↑ لوفير، ف. ويليام (1963). "الدلالات الوظيفية للنظريات الجبرية" . وقائع الأكاديمية الوطنية للعلوم في الولايات المتحدة الأمريكية . 50 (5): 869-872 . Bibcode : 1963PNAS...50..869L . doi : 10.1073 / pnas.50.5.869 . PMC 221940. PMID 16591125 .
- ↑ أندريه تارليكي؛ رود م. بورستال ؛ جوزيف أ. جوجين (1991). "بعض الأدوات الجبرية الأساسية لدلالات الحوسبة: الجزء 3. الفئات المفهرسة" . علوم الحاسوب النظرية . 91 (2): 239-264 . doi : 10.1016/0304-3975(91)90085-G .
- ↑ باتي، مارك؛ ميماريان، كيفان؛ نينهاوس، كينديلان؛ بيشون-فارابود، جان؛ سيويل، بيتر (2015). "مشكلة دلالات التزامن في لغات البرمجة" (ملف PDF) . وقائع الندوة الأوروبية حول لغات وأنظمة البرمجة . سبرينغر . ص 283-307 . doi : 10.1007/978-3-662-46669-8_12 .
- ↑ أبرامسكي، سامسون (2009). "دلالات التفاعل: مقدمة في دلالات الألعاب". في: أندرو م. بيتس؛ ب. دايبجر (محرران). دلالات ومنطق الحوسبة . مطبعة جامعة كامبريدج. ص 1-32 . doi : 10.1017/CBO9780511526619.002 . ISBN 9780521580571.
- ↑ ديجكسترا، إدسكار دبليو. (1975). "الأوامر المحمية، وعدم الحتمية، والاشتقاق الرسمي للبرامج" . اتصالات رابطة آلات الحوسبة . 18 (8): 453-457 . doi : 10.1145/360933.360975 . S2CID 1679242 .
للمزيد من القراءة
- الكتب الدراسية
- فلويد، روبرت و. (1967). "إسناد معانٍ للبرامج" (ملف PDF) . في: شوارتز، ج. ت. (محرر). الجوانب الرياضية لعلوم الحاسوب . وقائع ندوة الرياضيات التطبيقية. المجلد 19. الجمعية الأمريكية للرياضيات. الصفحات 19-32 . ISBN 0821867288.
- هينيسي، م. (1990). دلالات لغات البرمجة: مقدمة تمهيدية باستخدام الدلالات التشغيلية الهيكلية . وايلي. ISBN 978-0-471-92772-3.
- تينانت، روبرت د. (1991). دلالات لغات البرمجة . برنتيس هول. ISBN 978-0-13-805599-8.
- غونتر، كارل (1992). دلالات لغات البرمجة . مطبعة معهد ماساتشوستس للتكنولوجيا. ISBN 0-262-07143-6.
- نيلسون، إتش آر؛ نيلسون، فليمنج (1992). علم الدلالة مع التطبيقات: مقدمة رسمية (ملف PDF) . وايلي. ISBN 978-0-471-92980-2أُرشف من النسخة الأصلية (PDF) بتاريخ 17 أبريل 2012. تم الاطلاع عليه بتاريخ 27 مايو 2011 .
- وينسكل، جلين (1993). الدلالات الرسمية للغات البرمجة: مقدمة . مطبعة معهد ماساتشوستس للتكنولوجيا. ISBN 0-262-73103-7.
- ميتشل، جون سي. (1995). أسس لغات البرمجة (ملحق) .
- سلونيجر، كينيث ؛ كورتز، باري ل. (1995). بناء الجملة الرسمي ودلالات لغات البرمجة . أديسون-ويسلي. ISBN 0-201-65697-3.
- رينولدز، جون سي. (1998). نظريات لغات البرمجة . مطبعة جامعة كامبريدج. ISBN 0-521-59414-6.
- هاربر، روبرت (2006). الأسس العملية للغات البرمجة (ملف PDF) . مؤرشف من الأصل (ملف PDF) بتاريخ 27-06-2007.(مسودة عمل)
- نيلسون، إتش آر؛ نيلسون، فليمنج (2007). علم الدلالة مع التطبيقات: مدخل تمهيدي . سبرينغر. ISBN 978-1-84628-692-6.
- ستامب، آرون (2014). أسس لغات البرمجة . وايلي. ISBN 978-1-118-00747-1.
- كريشنامورثي، شري رام (2012). "لغات البرمجة: التطبيق والتفسير" ( الطبعة الثانية).
- ملاحظات المحاضرة
- وينسكل، جلين. "الدلالات الدلالية" (ملف PDF) . جامعة كامبريدج.
روابط خارجية
- آبي، أنتوني (2004). مقدمة في لغات البرمجة . مؤرشف من الأصل بتاريخ 19-06-2015.علم الدلالة.
- الأساليب الرسمية
- المنطق في علوم الحاسوب
- لغات المواصفات الرسمية
- دلالات لغة البرمجة
