سؤال

ما هو تطبيق Ericsson ل Erlang و Erlang / OTP مكتوبة وتجميعها؟ هل الجمعية، ج أو ارلانغ نفسها؟

تحديث 1: بفضل drjokepu. إذا فهمت بشكل صحيح، يتم كتابة مترجم Erlang To-VM في Erlang نفسه. لكن VM مكتوب في جيم

UPDATE 2: أشار هاييك-Pichi-Vychodil إلى الكثير من التفاصيل.

  • VM و HW تفاعل برامج التشغيل: في C.
  • مترجم (إلى VM) والمكتبات: في Erlang.
  • الامتدادات: ممكن بأي لغة عن طريق كتابة منفذ أو عقدة Erlang بهذه اللغة.
هل كانت مفيدة؟

المحلول

erlang نفسه مكتوب في ارلانج. يبدو غريبا؟ نعم، لأنه صحيح جزئيا فقط. حسنا، انظر إليها بمزيد من التفاصيل:

  1. يتم كتابة Preprocessor Erlang في Erlang.
  2. محلل Erlang مكتوب في Erlang.
  3. يتم كتابة مترجم Erlang إلى Beam (Byte-Code VM) في Erlang.
  4. يتم كتابة مترجم Erlang إلى Hipe (تمديد VM الأصلي) في Erlang.
  5. يتم كتابة شعاع Erlang VM والحساب في الغالب في C.
  6. يتم كتابة برامج تشغيل مرتبطة في الغالب في C. (يتم توصيلها ب VM ويقدم التواصل مع العالم الخارجي.)
  7. مكتوب OTP في Erlang.
  8. يمكن كتابة منافذ أو عقد أخرى بأي لغة.

نصائح أخرى

من erlang التعليمات:

10.7 كيف يتم كتابة أول مترجم ارلانغ؟

(أو: كيف كان إيرلانج bootstrappped؟) في كلمات جو:

أولا أنا صممت آلة مجردة لتنفيذ Erlang. كان هذا يسمى آلة المربى؛ مربى = آلة مجردة جو.

ثم كتبت مترجم من إرلانج إلى المربى ومحاكي لمعرفة ما إذا كان الجهاز يعمل. كلاهما كتب في prolog.

في الوقت نفسه كتب مايك ويليامز محاكي C للمربى.

ثم أعد كتابة مترجم Erlang-to-Jam في Erlang واستخدم برامج التحويل البرمجي لتجميعه. تم تشغيل رمز الكائن الناتج في محاكي C. ثم رمينا بعيدا.

  • 65.9٪ من رمز Erlang مكتوب في ارلانج.
  • 13.4٪ من erlang مكتوب في XML.
  • 13.6٪ من Erlang مكتوب في C.
  • 1.4٪ من Erlang مكتوب في C ++
  • ...

يمكنك رؤية إحصائيات حية وتحديث في ohloh. الموقع، هذا التقرير تولد من مستودع Erlang Git الرئيسي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top