تحول ثنائي الاتجاه

في برمجة الحاسوب، تعد التحويلات ثنائية الاتجاه برامج يمكن من خلالها تشغيل قطعة واحدة من التعليمات البرمجية بعدة طرق، مثل اعتبار البيانات نفسها أحيانًا كمدخلات، وأحيانًا كمخرجات. على سبيل المثال، قد يؤدي تشغيل التحول ثنائي الاتجاه في الاتجاه الأمامي إلى تحويل المدخل I إلى المخرج O، في حين أن نفس التحول ثنائي الاتجاه في الاتجاه الخلفي سيأخذ كإصدارات المدخل من I وO وينتج إصدارًا جديدًا من I كمخرجاته.

تعد تحويلات النموذج ثنائي الاتجاه حالة خاصة مهمة يتم فيها إدخال النموذج في مثل هذا البرنامج.

بعض اللغات ثنائية الاتجاه ذات تقابل. إن الحيوية اللغوية للغة هي تقييد شديد لثنائي الاتجاه،[1] لأن اللغة ثنائية الهدف ترتبط فقط بطريقتين مختلفتين لتقديم نفس المعلومات. الأعم هي لغة العدسة، حيث يوجد اتجاه أمامي مميز ("get") يأخذ مدخلات ملموسة إلى مخرجات مجردة، ويتجاهل بعض المعلومات في العملية: تتضمن الحالة الملموسة جميع المعلومات الموجودة في الحالة المجردة وعادة ما يكون أكثر. الاتجاه الخلفي ("put") يأخذ حالة ملموسة وحالة مجردة ويحسب حالة ملموسة جديدة. العدسات مطلوبة لإطاعة شروط معينة لضمان السلوك المعقول.

الحالة الأكثر شيوعًا هي التحولات ثنائية الاتجاه المتماثلة. هنا تتشارك الحالتان المرتبطتان عادةً ببعض المعلومات، لكن كل منهما يحتوي أيضًا على بعض المعلومات التي لم يتم تضمينها في الأخرى.

استخدام عدل

يمكن استخدام التحولات ثنائية الاتجاه من أجل:

مفردات عدل

يُطلق على البرنامج ثنائي الاتجاه الذي يتبع بعض قوانين الذهاب والعودة العدسة.

أمثلة على عمليات التنفيذ عدل

مراجع عدل

  1. ^ "Archived copy" (PDF). مؤرشف من الأصل (PDF) في 2011-07-26. اطلع عليه بتاريخ 2011-02-07.{{استشهاد ويب}}: صيانة الاستشهاد: الأرشيف كعنوان (link)
  2. ^ http://www.cs.cornell.edu/~jnfoster/papers/grace-report.pdf نسخة محفوظة 2018-10-11 على موقع واي باك مشين.
  3. ^ "Archived copy" (PDF). مؤرشف من الأصل (PDF) في 2007-07-02. اطلع عليه بتاريخ 2011-02-07.{{استشهاد ويب}}: صيانة الاستشهاد: الأرشيف كعنوان (link)
  4. ^ http://www.brics.dk/xsugar/ نسخة محفوظة 2020-05-25 على موقع واي باك مشين.

روابط خارجية عدل