لغة البرمجة التجميعية

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

مثال

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

باز ( بار ( فو ( س )))

...مكتوب بلغة تجميعية كسلسلة من الدوال: [ 2 ]

x foo bar baz

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

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

ملكيات

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

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

التطبيقات

كانت لغة البرمجة Forth أول لغة برمجة تجميعية ، مع أن لغة Joy كانت أول لغة تُصنّف كلغة تجميعية. ومن اللغات التجميعية الأخرى: dc ، وFactor ، وOnyx، وPostScript ، وRPL ، وStaapl، [ 9 ] بالإضافة إلى لغات تجريبية وأخرى متوقفة، منها: Enchilada، [ 10 ] وOm، [ 11 ] وXY. [ 12 ]

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

معظم لغات التجميع هي لغات ذات كتابة ديناميكية . ومن الاستثناءات لغة Cat ذات الكتابة الثابتة [ 13 ] وخليفتها Kitten. [ 14 ]

انظر أيضاً

مراجع

  1. ديغينز، كريستوفر (31 ديسمبر 2008). "ما هي اللغة التجميعية؟" . مجلة دكتور دوبز . تم الاطلاع عليه بتاريخ 1 يوليو 2013 .
  2. "الاسم والرمز وليس القيم" . Concatenative.org . تم الاطلاع عليه بتاريخ 13 سبتمبر 2013 .
  3. "لغة التجميع" . Concatenative.org . Concatenative.org. ١٣ سبتمبر ٢٠١٣. مؤرشف من الأصل في ٨ أكتوبر ٢٠٢٤. تم الاطلاع عليه في ١٣ سبتمبر ٢٠١٣ .
  4. "الأساس المنطقي للغة جوي، وهي لغة وظيفية" . مؤرشف من الأصل بتاريخ 15-01-2011.
  5. 1 2 بوردي، جون (12 فبراير 2012). "لماذا تُعدّ البرمجة التجميعية مهمة؟" . ذا بيج ماد بادل . تم الاسترجاع في 12 أغسطس 2025 .
  6. فون ثون، مانفريد (2011). "مقارنة لغة جوي بلغات البرمجة الوظيفية الأخرى" . مؤرشف من الأصل بتاريخ 2011-10-06.
  7. فون ثون، مانفريد (2009). "الأسس الرياضية للفرح" . مؤرشف من الأصل بتاريخ 31-07-2010.
  8. بيكر، هنري (1993). المنطق الخطي ومكدسات التبديل: الرابع سيكون الأول (تقرير). شركة نيمبل للكمبيوتر. مؤرشف من الأصل بتاريخ 24 يوليو 2014. تم الاطلاع عليه بتاريخ 1 يوليو 2013 عبر Home.pipeline.com.
  9. 1 2 شوتين، توم (زويزوا). "ستابل: مقدمة حول مخطط لوحدات التحكم المدمجة" . شركة زويزوا المحدودة . تم الاطلاع عليه بتاريخ 12 أغسطس 2025 .
  10. 1 2 سريع؛ نيوديف؛ جاسينثفورد. جورين (2 يناير 2024). "الانتشيلادا" . Concatenative.org . تم الاسترجاع في 12 أغسطس 2025 .
  11. 1 2 sparist. "لغة برمجة أوم" . Om-language.com . تم الاطلاع عليه بتاريخ 12 أغسطس 2025 .
  12. 1 2 أبتر، ستيفان (2004). "لغة التجميع XY" . لا حلقات مزعجة . تم الاسترجاع في 12 أغسطس 2025 .
  13. "مواصفات القطط" . Cat-language.com. مؤرشف من الأصل بتاريخ 2015-02-05 . تم الاطلاع عليه بتاريخ 2013-07-01 .
  14. بوردي، جون. "لغة برمجة القطط الصغيرة" . kittenlang.org . تم الاسترجاع في 31 مارس 2025 .