LCC (المترجم)
LCC (مترجم لغة C المحلي أو "مترجم لغة C الصغير") هو مترجم صغير الحجم وقابل لإعادة التوجيه للغة البرمجة ANSI C. على الرغم من أن شفرته المصدرية متاحة مجانًا للاستخدام الشخصي، [ 2 ] إلا أنه لا يُعد برنامجًا مفتوح المصدر أو برنامجًا مجانيًا وفقًا للتعريفات المعتادة، إذ لا يجوز بيع المنتجات المشتقة من LCC، بينما يُسمح ببيع المكونات غير المشتقة منه. [ 1 ] وقد طوّره كريس فريزر وديفيد هانسون .
شركة ذات مسؤولية محدودة
صُمم LCC ليكون سهل الفهم للغاية، وهو موثق بشكل جيد؛ وقد وُصف تصميمه في كتاب فريزر وهانسون " مترجم لغة C قابل لإعادة الاستهداف: التصميم والتنفيذ" . يتضمن الكتاب معظم شفرة المصدر للإصدار 3.6 من المترجم، والذي كُتب كبرنامج مكتوب بلغة أدبية باستخدام مكتبة noweb . اعتبارًا من يوليو 2011، كان الإصدار الحالي من LCC هو 4.2، ولكن لا يزال جزء كبير من الكتاب ينطبق على هذا الإصدار. التغيير الرئيسي منذ نشر الكتاب يكمن في واجهة مولد الشفرة، والتي وُصفت في وثيقة منفصلة. [ 3 ]
يبلغ حجم الكود المصدري لـ LCC حوالي 20000 سطر، وهو حجم أصغر بكثير من العديد من المترجمات الرئيسية. [ 4 ]
يمكن لـ LCC توليد التعليمات البرمجية للعديد من بنى المعالجات، بما في ذلك Alpha و SPARC و MIPS و x86 ؛ كما يوجد أيضًا نظام خلفي لـ LCC يقوم بتوليد لغة الوسيط المشتركة من Microsoft . [ 5 ]
المشاريع التي تتضمن تكلفة دورة الحياة
كويك 3
يعتمد محرك id Tech 3 من شركة id Software على نسخة مُعدّلة من LCC لتجميع الشفرة المصدرية لكل وحدة لعبة أو تعديل من طرف ثالث إلى بايت كود يستهدف الآلة الافتراضية الخاصة به . [ 6 ] هذا يعني أن الوحدات لا تتأثر بالنظام إلا من خلال الوظائف المحدودة التي يوفرها المحرك، وهو ما يهدف إلى تقليل المخاطر التي يشكلها مطورو التعديلات الخبيثة. ومن الاعتبارات الأخرى أن الألعاب والتعديلات المصممة لهذا المحرك قابلة للنقل دون الحاجة إلى إعادة تجميع؛ إذ يكفي نقل الآلة الافتراضية فقط إلى منصات جديدة لتشغيل الوحدات.
lcc-win
lcc-win32 هي حزمة بيئة تطوير متكاملة لنظام التشغيل مايكروسوفت ويندوز، وتتضمن نسخة معدلة من LCC. يوجد منها نسخة amd64 باسم lcc-win64، وهي متاحة منذ 15 أبريل 2012. [ 7 ]
بيلي سي
Pelles C هو نسخة معدلة بشكل كبير من LCC توفر دعم C11 بالإضافة إلى دعم C17 و C23، ودعم amd64، وتقنيات تحسين إضافية مثل التوسيع المضمن وبيئة تطوير متكاملة ( IDE) .
ماث ووركس
بالنسبة لأجهزة ويندوز ذات 32 بت، يتم استخدام Lcc كمترجم افتراضي في حالة عدم تثبيت أي مترجم آخر لبرنامج MathWorks MATLAB والمنتجات ذات الصلة. [ 8 ]
رخصة
برنامج LCC مجاني للاستخدام الشخصي، ويجوز إعادة توزيعه شريطة الإشارة إلى ذلك في جميع وسائط التوزيع ووثائق المنتج. يعتمد ترخيص LCC على الأمثلة في حالات متعددة. لا يجوز بيع LCC بهدف الربح، ولكن يجوز تضمينه مع برامج أخرى تُباع بهدف الربح، شريطة توزيع LCC نفسه مجانًا. تتوفر تراخيص الاستخدام الفردي والتراخيص غير المحدودة من خلال التواصل مع شركة Addison-Wesley، لا سيما لمترجمات لغات مثل C++ التي قد يشكل مترجم لغة C جزءًا كبيرًا من عملها. [ 1 ]
انظر أيضاً
مراجع
- 1 2 3 "رخصة LCC" . GitHub . تم الاطلاع عليه في 5 يوليو 2011 .
- ↑ "مستودع جيت هاب الرسمي" . جيت هاب .
- ↑ فريزر، كريستوفر دبليو؛ هانسون، ديفيد آر. (يوليو 2001). "واجهة توليد التعليمات البرمجية lcc 4.x" (ملف PDF) . مايكروسوفت للأبحاث. تقرير فني MSR-TR-2001-64 . تاريخ الاسترجاع: 5 يوليو 2011 .
- ↑ ساو-جي تشين، غوانغ-هوي لين، باو-آن هسيونغ، يو-هين هو. "التصميم المشترك للأجهزة والبرمجيات لمنصة نظام على شريحة متعددة الوسائط". القسم 5.6.1: بنية مُجمِّع LCC.
- ↑ هانسون، ديفيد ر. (مارس 2004). "Lcc.NET: استهداف لغة .NET الوسيطة المشتركة من لغة C القياسية" (ملف PDF) . أبحاث مايكروسوفت . تم الاطلاع عليه بتاريخ 22 يوليو 2012 .
- ↑ "ملف جون كارماك بصيغة .plan، 24 يوليو 1999" . مؤرشف من الأصل بتاريخ 12 مايو 2008.
- ↑ lcc-win: نظام مُترجم لنظام التشغيل ويندوز
- ↑ "إنشاء ملفات MEX" . مؤرشف من الأصل في 14 سبتمبر 2012. تم الاطلاع عليه في 6 نوفمبر 2013 .
روابط خارجية
فهرس
- فريزر، كريستوفر دبليو؛ هانسون، ديفيد آر. (1995). مُصرّف لغة سي قابل لإعادة الاستهداف: التصميم والتنفيذ . أديسون-ويسلي. ISBN 0-8053-1670-1.
- مترجمات لغة البرمجة C
