جنو لايتنينج

مكتبة GNU Lightning هي مكتبة برمجية مجانية لتوليد كود لغة التجميع (في الواقع، كود الآلة) أثناء التشغيل. يدعم الإصدار 2.1.3، الذي صدر في سبتمبر 2019، معالجات SPARC (32 بت)، و x86 (32 و64 بت)، و MIPS ، و ARM (32 و64 بت)، و ia64 ، وHPPA ، و PowerPC (32 بت)، و Alpha ، و S390 ، و RISC-V (64 بت). [ 5 ] [ 6 ]

مزايا مقارنة بالمكتبات الأخرى

تُسهّل الميزات التي يوفرها برنامج GNU Lightning عملية الترجمة الفورية . بالمقارنة مع مكتبات مثل LLVM أو libJIT ، يوفر GNU Lightning واجهة منخفضة المستوى فقط للتجميع من لغة تجميع RISC القياسية - المستندة بشكل فضفاض إلى معماريتي SPARC و MIPS [ 7 ] - إلى لغة الآلة الخاصة بالمعمارية المستهدفة.

العيوب

لا يوفر هذا النظام تخصيص السجلات ، أو تحليل تدفق البيانات أو تدفق التحكم ، أو التحسين . بدءًا من الإصدار 2.x، يقوم النظام بتوليد التعليمات البرمجية عبر رسم بياني وسيط، بدلاً من توليدها واحدة تلو الأخرى من كل تعليمة من تعليماته القياسية. يسمح هذا التغيير بتحسين ما بين التعليمات، مثل تخصيص السجلات وإزالة التعليمات البرمجية غير المستخدمة. [ 8 ]

مجموعة التعليمات

تعتمد مجموعة تعليمات GNU lightning بشكل فضفاض على بنى RISC الحالية .

الأنواع

عند الحاجة، يتم التعامل مع البيانات باستخدام هذه الأنواع التسعة:

يكتبمكافئ C
جحرف موقع
يو سيحرف غير موقع
sقصير
نحنقصير غير موقع
أناعدد صحيح
واجهة المستخدمعدد صحيح غير موقع
لطويل
ويطفو
دمزدوج

المشاريع التي تستخدم GNU Lightning

تستخدم لغات البرمجة GNU Smalltalk [ 9 ] و GNU Guile [ 10 ] و CLISP [ 11 ] مكتبة GNU Lightning للترجمة الفورية . طُوّرت GNU Lightning في البداية كأداة تُستخدم في مترجم GNU Smalltalk الديناميكي لتحويل التعليمات البرمجية الوسيطة إلى التعليمات البرمجية الأصلية. [ 12 ] توقفت GNU Guile 2.9.2 والإصدارات اللاحقة عن استخدام GNU Lightning 2.x، واستبدلتها بنسخة مُعدّلة خاصة بها مبنية على GNU Lightning 1.4 لتوليد التعليمات البرمجية الأصلية، لأن GNU Lightning 2.x تُركّز بشكل أكبر على تحسين ما بين التعليمات. [ 13 ]

ملحوظات

  1. رخصة LGPL-3.0 أو أحدث منذ 2007-07-01. [ 3 ]
  2. رخصة LGPL-2.1 أو أحدث من 25-06-2002 حتى 01-07-2007. [ 4 ]

مراجع

  1. "سجل التغييرات" . مشروع جنو . تم الاسترجاع في 22-02-2009 .
  2. ^ باولو سيزار بيريرا دي أندرادي (8 فبراير 2024). "تم إصدار GNU Lightning 2.2.3!" . تم الاسترجاع في 8 مارس 2024 .
  3. "اختراق ملف README" .
  4. "lightning-1.1.1.tar.gz" .
  5. "GNU lightning" . تم الاطلاع عليه بتاريخ 15 يناير 2020 .
  6. "تم إصدار GNU lightning 2.1.3!" . 2019-09-18.
  7. "استخدام ونقل GNU lightning" . تم الاسترجاع في 22-02-2009 .
  8. "توليد التعليمات البرمجية في وقت التشغيل السريع - wingolog" .
  9. "صفحة مشروع GNU Smalltalk" . تم الاطلاع عليها بتاريخ 17-05-2014 .
  10. "البرمجة الأصلية في الوقت المناسب" . مؤرشف من الأصل بتاريخ 13 مايو 2020. تم الاطلاع عليه بتاريخ 11 مارس 2019 .
  11. "ملاحظات التنفيذ لبرنامج GNU CLISP" . تم الاطلاع عليه بتاريخ 23-02-2009 .
  12. "دليل مستخدم GNU Lightning، قسم الشكر والتقدير" . تم الاطلاع عليه بتاريخ 17-05-2014 .
  13. "توليد التعليمات البرمجية في وقت التشغيل السريع -- wingolog" . تم الاسترجاع في 10 ديسمبر 2021 .