ARexx

ARexx هو مترجم لغة Rexx لنظام Amiga ، كتبه ويليام إس. هاوز عام 1987، ويتميز بعدد من الخصائص الخاصة بنظام Amiga بالإضافة إلى لغة Rexx القياسية. يمكن لبرنامج ARexx التفاعل مع البرامج التي تدعم منفذ ARexx. يستطيع تطبيق Amiga تحديد مجموعة من الأوامر والوظائف التي يمكن لـ ARexx معالجتها ، مما يتيح إمكانيات البرنامج لبرنامج ARexx. [ 1 ] تدعم العديد من التطبيقات تشغيل برنامج ARexx كوحدة ماكرو .

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

تتيح لغة ARexx للبرامج النصية التواصل مع التطبيقات المتوافقة معها، أي القادرة على استقبال الأوامر منها وتنفيذها. ومن الأمثلة البارزة على ذلك: تطبيق قاعدة بيانات MicroFiche Filer الذي يوفر أوامر ARexx شاملة، ومحرر Textra المرفق مع JForth الذي يوفر بيئة برمجة متكاملة، وتطبيق AmigaVision للعروض التقديمية متعددة الوسائط الذي يمكنه التحكم في برامج أخرى عبر ARexx.

كما هو الحال في لغة Rexx القياسية، تستخدم ARexx تمثيل البيانات بدون تحديد نوع . تميز لغات البرمجة الأخرى بين أنواع البيانات مثل الأعداد الصحيحة ، والأعداد العشرية ، والسلاسل النصية ، لكن Rexx تتعامل مع جميع البيانات كنصوص (سلاسل نصية). هذا يُسهّل كتابة التعليمات البرمجية، ولكنه يؤدي إلى عدم كفاءة وقت التشغيل وظهور أخطاء. وكما هو شائع في اللغات ذات النطاق الديناميكي ، لا يتم تعريف المتغيرات قبل استخدامها، بل يتم إنشاؤها عند أول استخدام.

يوفر ARexx أوامر مدمجة وإمكانية الوصول إلى مكتبة Amiga الخاصة به (rexxsyslib.library) بالإضافة إلى مكتبات ووظائف أخرى. يمكن لبرنامج Amiga مزود بمنفذ ARexx أن يُقدّم وظائفه إلى نص برمجي ARexx. كما يمكن لنص برمجي ARexx استدعاء نصوص برمجية ARexx أخرى.

تاريخ

تم ابتكار لغة ARexx عام 1987، وطُوّرت لأجهزة أميغا على يد ويليام إس. هاوز. وهي مبنية على لغة Rexx التي وصفها مايك كوليشو في كتابه "لغة REXX: منهج عملي للبرمجة" . [ 2 ] أدرجت شركة كومودور لغة ARexx مع نظام التشغيل AmigaOS 2.0 عام 1990، وظلت مُضمنة في جميع إصدارات AmigaOS اللاحقة. يتبع هذا الإصدار الأخير من ARexx لغة Rexx الرسمية بدقة؛ وقد شارك هاوز لاحقًا في صياغة معيار ANSI الخاص بلغة Rexx.

من دليل ARexx:

طُوِّر برنامج ARexx على جهاز Amiga 1000 بذاكرة 512 كيلوبايت ومحركي أقراص مرنة. طُوِّر النموذج الأولي للغة بلغة C باستخدام Lattice C ، وكُتِبَت النسخة النهائية بلغة التجميع باستخدام مُجمِّع Metacomco . أُنشئت الوثائق باستخدام محرر TxEd [ 3 ] ، ووُضِعَت في TeX باستخدام AmigaTeX . هذا منتج Amiga بالكامل. [ 4 ]

بما أن برنامج ARexx مكتوب بلغة التجميع 68000 ، فإنه لا يعمل بكامل طاقته مع معالجات PPC الخاصة بنظام MorphOS ، وهو نظام تشغيل أحدث مُشتق من Amiga. لم تتم إعادة كتابة ARexx ليتوافق مع هذه المعالجات، ولا يزال غير مُدمج في MorphOS. لم يعد ويليام هاوز مشاركًا في تطوير برامج Amiga، ولا توجد أي شركة تمول إصدارات جديدة من ARexx. مع ذلك، لا يزال الإصدار الحالي من ARexx قيد الاستخدام، على الرغم من أنه غير مُوزع مع MorphOS.

أمثلة

تطبيق قدرات جديدة

إذا كان المستخدم يستخدم برنامجًا يقوم بإنشاء الرسوم المتحركة عن طريق دمج ملفات صور نقطية مختلفة ولكنه يفتقر إلى إمكانيات معالجة الصور، فيمكنه كتابة برنامج نصي ARexx يقوم بهذه الإجراءات:

  1. يحدد برنامج ARexx مواقع ملفات الصور في مجلداتها.
  2. يقوم برنامج ARexx بتحميل الصورة الأولى
  3. يقوم ARexx بتحميل برنامج الرسم
  4. يتم تحميل الصورة في برنامج الرسم الذي يُجري تعديلات على الملف
  5. يتم تخزين الصورة المعدلة في دليل آخر
  6. يكرر ARexx الإجراء على أي صورة في الدليل
  7. تم إغلاق برنامج الرسم وتم تحميل برنامج الرسوم المتحركة
  8. تم بناء الرسوم المتحركة
  9. تم حفظ الرسوم المتحركة في مجلدها
  10. تم إغلاق برنامج الرسوم المتحركة

أتمتة المهام المتكررة

يُعدّ برنامج EqFiles.rexx [ 5 ] مثالًا معروفًا لبرنامج ARexx بسيط مصمم لأتمتة العمليات المتكررة والمملة. يستخدم هذا البرنامج برنامج ALeXcompare [ 6 ] لمقارنة الملفات، ثم يعثر على جميع الملفات المكررة في مجموعة من الملفات، ويعرض النتائج مع تمييزها بلون مختلف.

توسيع نظام التشغيل AmigaOS

تتمثل إحدى أهم مزايا ARexx في توسيع نظام AmigaOS بإضافة إمكانيات يفتقر إليها. على سبيل المثال، يمكن لبرنامج ARexx عرض رسالة تحذير أو تشغيل صوت تنبيه إذا توقف برنامج Amiga معين، أو حدث به عطل، أو انتهى من مهمته المجدولة.

النص البرمجي التالي هو نص ARexx يعرض تحذيرات بناءً على الأحداث:

/* Alarm.rexx */ ARG event IF event = 0 THEN EXIT IF event = 1 THEN SAY "انتهى البرنامج بشكل غير متوقع" IF event = 2 THEN SAY "أنهى البرنامج مهمته" IF event = 3 THEN SAY "لا يمكن العثور على البيانات في الدليل المحدد"

انظر أيضاً

مراجع

  1. جيغير، إريك. "مضيفو أوامر ARexx" .
  2. كوليشو، مايكل (1985). لغة ريكس: مدخل عملي للبرمجة ( الطبعة الأولى). برنتيس هول. ISBN  0-13-780651-5.
  3. "Amazing_Computing_1986-03_067.JPG" .
  4. دليل المستخدم المرجعي لـ ARexx
  5. بيروجي، فولفيو. "EqFiles" .
  6. كازيك، أليكس. "ALeXcompare" .
ملحوظات
  • كالاواي، ميريل. (1992). كتاب طبخ ARexx . ألبوكيرك، نيو مكسيكو: وايتستون. ISBN 0-9632773-0-8.
  • زامارا، كريس؛ سوليفان، نيك (1991). استخدام برنامج Arexx على جهاز Amiga . شركة Abacus Software Inc. رقم ISBN 1-55755-114-6.