لغة برمجة متسلسلة

لغة البرمجة المتسلسلة هي لغة برمجة حاسوبية خالية من النقاط حيث تشير جميع التعبيرات إلى وظائف ، ويشير تقابل التعبيرات إلى تكوين الوظائف . [1] تحل البرمجة المتسلسلة محل تطبيق الوظائف ، وهو أمر شائع في أنماط البرمجة الأخرى، مع تكوين الوظائف كطريقة افتراضية لبناء البرامج الفرعية .

مثال

على سبيل المثال، سلسلة من العمليات في لغة تطبيقية مثل التالية:

y = foo ( x ) z = شريط ( y ) w = baz ( z )  
  
  

... مكتوبة بلغة متسلسلة كسلسلة من الوظائف: [2]

x فو بار باز

الوظائف والإجراءات المكتوبة بأسلوب التجميع ليست على مستوى القيمة ، أي أنها لا تمثل عادةً هياكل البيانات التي تعمل عليها بأسماء أو معرفات صريحة . بدلاً من ذلك، فهي على مستوى الوظيفة  - يتم تعريف الوظيفة على أنها خط أنابيب ، أو تسلسل من العمليات التي تأخذ المعلمات من بنية بيانات ضمنية تعمل عليها جميع الوظائف، وتعيد نتائج الوظيفة إلى تلك البنية المشتركة حتى يتم استخدامها بواسطة المشغل التالي. [3]

إن الجمع بين الدلالات التركيبية والنحو الذي يعكس مثل هذه الدلالة يجعل اللغات المتسلسلة قابلة بدرجة كبيرة للتلاعب الجبري بالبرامج؛ [4] على الرغم من أنه قد يكون من الصعب كتابة التعبيرات الرياضية مباشرة فيها. [5] يمكن تنفيذ اللغات المتسلسلة بكفاءة باستخدام آلة المكدس ، وعادة ما تكون موجودة ضمنيًا في الآلات الافتراضية في شكل مجموعات التعليمات الخاصة بها . [5]

ملكيات

إن خصائص اللغات المتسلسلة هي نتيجة لتركيبها النحوي ودلالاتها:

  • إن اختزال أي تعبير هو تبسيط دالة إلى دالة أخرى؛ وليس من الضروري أبدًا التعامل مع تطبيق الدوال على الكائنات. [6]
  • يمكن استبدال أي تعبير فرعي باسم يمثل نفس التعبير الفرعي. ويشار إلى هذا في مجتمع التجميع باسم التحليل إلى عوامل ، ويُستخدم على نطاق واسع لتبسيط البرامج إلى أجزاء أصغر.
  • تشكل قواعد اللغة والدلالات في اللغات المتسلسلة البنية الجبرية للمونويد . [ 7]
  • يمكن جعل اللغات المتسلسلة مناسبة تمامًا للتنفيذ المستوحى من المنطق الخطي حيث لا يتم إنشاء أي قمامة على الإطلاق. [8]

التنفيذات

كانت لغة البرمجة التسلسلية الأولى هي Forth ، على الرغم من أن Joy كانت أول لغة تطلق على نفسها اسم التسلسلية. ومن اللغات التسلسلية الأخرى dc و Factor و Onyx و PostScript و RPL .

تعتمد معظم لغات التجميع الحالية على المكدس ؛ وهذا ليس شرطًا أساسيًا وقد تم اقتراح نماذج أخرى. [9] [10] [11] تُستخدم لغات التجميع حاليًا في البرمجة المضمنة وسطح المكتب والويب ، كلغات مستهدفة ، ولأغراض البحث.

معظم اللغات المتسلسلة هي لغات ذات كتابة ديناميكية . تشمل الاستثناءات لغة Cat ذات الكتابة الثابتة . [12]

انظر أيضا

مراجع

  1. ^ "كريستوفر ديجينز: ما هي اللغة المتسلسلة". Drdobbs.com. 2008-12-31 . تم الاسترجاع في 2013-07-01 .
  2. ^ "رمز الاسم ليس قيمًا". Concatenative.org . تم الاسترجاع في 13 سبتمبر 2013 .
  3. ^ "لغة متسلسلة". Concatenative.org . تم الاسترجاع في 13 سبتمبر 2013 .
  4. ^ "الأساس المنطقي للفرح، لغة وظيفية". مؤرشف من الأصل في 15 يناير 2011.
  5. ^ "لماذا البرمجة المتسلسلة مهمة" . تم الاسترجاع في 13 سبتمبر 2013 .
  6. ^ "von Thun, Manfred: Joy comparison with other function language". مؤرشف من الأصل في 2011-10-06.
  7. ^ "فون ثون، مانفريد: الأسس الرياضية للفرح". مؤرشف من الأصل في 2010-07-31.
  8. ^ "هنري بيكر: المنطق الخطي ومجموعات التباديل — الرابع سيكون الأول". Home.pipeline.com. مؤرشف من الأصل في 2014-07-24 . تم الاسترجاع في 2013-07-01 .
  9. ^ "اللغة المتسلسلة XY". Nsl.com . تم الاسترجاع في 2013-07-01 .
  10. ^ "لغة البرمجة Enchilada". Enchiladacode.nl . تم الاسترجاع في 2013-07-01 .
  11. ^ "لغة البرمجة أوم". Om-language.org . تم الاسترجاع في 2013-07-01 .
  12. ^ "Cat Specification". Cat-language.com. مؤرشف من الأصل في 2015-02-05 . تم الاسترجاع في 2013-07-01 .
  • concatenative.org: ويكي حول اللغات المتسلسلة
  • Staapl: Forth on Scheme for Embedded Controllers
  • لغة البرمجة Enchilada
  • اللغة المتسلسلة XY
  • لغة البرمجة أوم
تم الاسترجاع من "https://en.wikipedia.org/w/index.php?title=لغة_البرمجة_المتسلسلة&oldid=1202032849"
Original text
Rate this translation
Your feedback will be used to help improve Google Translate