مجموعة أدوات تجميع أمستردام
مجموعة أدوات الترجمة أمستردام (ACK) هي مجموعة أدوات ترجمة قابلة لإعادة التوجيه كتبها أندرو تانينباوم وسيريل جاكوبس ، ويتولى ديفيد جيفن صيانتها منذ عام 2005. [ 1 ] وهي تحتوي على واجهات أمامية للغات البرمجة التالية : C و Pascal و Modula-2 و BASIC و Occam .
تاريخ
تكمن أهمية نظام ACK في كونه في أوائل ثمانينيات القرن الماضي أحد أوائل أنظمة الترجمة المحمولة المصممة لدعم لغات المصدر المتعددة والمنصات المستهدفة. [ 2 ] [ 3 ]
كان يُعرف ACK باسم سلسلة أدوات المترجم الأصلي لنظام MINIX حتى تم استبدال بيئة المستخدم لنظام MINIX إلى حد كبير ببيئة NetBSD (MINIX 3.2.0) وتم اعتماد Clang كمترجم النظام.
كان البرنامج في الأصل برنامجًا مغلق المصدر، وزّعه تانينباوم بنفسه في البداية، [ 4 ] ثمّ تولّت توزيعه لاحقًا شركتا UniPress Software وTransmediair Utrecht في الأمريكتين وأوروبا على التوالي. وكان توزيع ملفات المُصرّف الثنائية لنظام MINIX حالةً خاصةً ضمن هذا الترتيب. [ 5 ] وفي أبريل 2003، أُصدر البرنامج بموجب تراخيص BSD .
مبدأ العمل
يتم تحقيق أقصى قدر من قابلية النقل باستخدام لغة وسيطة تعتمد على رمز البايت ، وتسمى EM-1 [ 6 ] أو EM . ينتج كل واجهة أمامية للغة ملفات كائنات EM ، والتي تتم معالجتها بعد ذلك من خلال العديد من المحسنات العامة قبل ترجمتها بواسطة واجهة خلفية إلى رمز الآلة الأصلي .
يأتي برنامج ACK مزودًا برابط ومكتبة عامة قادرة على معالجة الملفات بتنسيق a.out الخاص ببرنامج ACK ؛ وسيعمل على الملفات التي تحتوي على كود EM بالإضافة إلى كود الآلة الأصلي. مع ذلك، لا يمكن ربط كود EM بكود الآلة الأصلي دون ترجمة ملف EM الثنائي أولًا.
المعالجات المستهدفة
يمكن لواجهات ACK الخلفية إنتاج رمز آلة أصلي لمجموعة واسعة من وحدات المعالجة المركزية، حتى بدءًا من وحدات المعالجة المركزية الصغيرة ذات 8 بت.
- 6502
- 65C124 - تم استخدامه لأول جهاز مزيل الرجفان القابل للزرع الذي يتم التحكم فيه بواسطة البرامج، وكان الهدف فريدًا من نوعه حيث كان حجم كلمة رمز C/EM هو بايت واحد للعدد الصحيح و 2 بايت للعدد الطويل.
- 6800 (للمُجمِّع فقط)
- 6805 (للمُجمِّع فقط)
- 6809 (للمُجمِّع فقط)
- ذراع
- 8080 *
- Z80
- Z8000
- إنتل 8086 *
- i386
- 68000
- 68020
- 68040
- NS32016
- S2650 (للمُجمِّع فقط)
- سبارك
- VAX4
- PDP-11
- Broadcom VideoCore IV (BCM2708) *
* الإصدار 6.0
انظر أيضاً
مراجع
- ↑ "مجموعة أدوات تجميع أمستردام" . 2005.الجدول الزمني على الموقع الرسمي.
- ↑ تانينباوم، أندرو س؛ فان ستافيرن، هـ؛ كايزر، إي جي؛ ستيفنسون، جيه دبليو (1983). "مجموعة أدوات عملية لصنع مترجمات محمولة" . اتصالات رابطة مكائن الحوسبة . 26 (9): 654-660 . doi : 10.1145/358172.358182 . hdl : 1871/2605 . S2CID 1217657 .
- ↑ أ. ف. أهو ، ر. سيثي، وج. د. أولمان (1986). المترجمون: المبادئ والتقنيات والأدوات ("كتاب التنين") . أديسون-ويسلي. ص 511. ISBN 0-201-10088-6.
- ↑ "مجموعة أدوات مُجمِّع أمستردام" . نشرة مجموعة مستخدمي يونكس الأسترالية . يوليو 1984. ص 17. تم الاطلاع عليها بتاريخ 21 أكتوبر 2025 .
- ↑ تانينباوم، أندرو س. (1988). نظام التشغيل MINIX لأجهزة IBM PC وXT وAT . برنتيس هول. ص. xv . تم الاطلاع عليه بتاريخ 21 أكتوبر 2025 .
- ↑ FOLDOC. "EM-1"
- مترجمات لغة بيسك
- مترجمات لغة البرمجة C
- علوم الحاسوب في هولندا
- مترجمات مجانية ومفتوحة المصدر
- تكنولوجيا المعلومات في هولندا
- مينيكس
- مترجمات Modula-2
- مترجمات لغة البرمجة باسكال
- البرامج التي تستخدم ترخيص BSD
- نماذج أولية لبرامج مجانية ومفتوحة المصدر
