ما هي التطبيقات الافتراضية التي يتم كتابتها بلغات عالية المستوى؟

StackOverflow https://stackoverflow.com/questions/2703870

  •  01-10-2019
  •  | 
  •  

سؤال

ما هي التطبيقات الافتراضية للتطبيق المكتوب بلغات المستوى الأعلى؟ يشبه C/C ++ لغات الاختيار (لأسباب واضحة).

ما وجدته على Google هو على الأقل مكتوبة في Java (كلاهما meta-circular): Jikesrvm و Maxine.

أي شيء آخر وجدته؟

هل كانت مفيدة؟

المحلول

  • تتم كتابة العديد من تطبيقات المخططات في المخطط ، وعلى الرغم من أن العديد من هؤلاء المترجمين أو المترجمين الفوريين ، إلا أن بعضها من VMs ،
  • تتم كتابة بعض التطبيقات الشائعة في الشائعة وعلى الرغم من أن العديد من هذه التطبيقات هي المترجمين أو المترجمين الفوريين ، إلا أن بعضها من VMs ،
  • ال Pypy تتم كتابة VM في Rpython ، وهي مجموعة فرعية من Python مع "بناء جملة ودلالات Python ، وسرعة C ، وقيود رسائل خطأ Java وبراميلر قابلة للاختراق مثل النكاف" ، ،
  • ال Squeak smalltalk vm مكتوبة باللغة العامية (مجموعة فرعية من Squeak Smalltalk) و
  • ال كلاين metacircular VM مكتوبة بالكامل في النفس.

من بين هؤلاء ، الأكثر إثارة للاهتمام هم كلاين وماكسين (الذي يعتمد تصميمه في الواقع على كلاين). عادةً ما تفترض تطبيقات LISP ومخطط Metacircular وجود بعض الأشكال الخاصة البدائية الأساسية ، والتي يجب تنفيذها بعد ذلك في المجمع أو C أو مجموعة فرعية محدودة من اللغة بأسلوب منخفض المستوى. استخدم Squeak و Pypy مجموعة فرعية محدودة من اللغة. يستخدم Jikes أساليب "السحر" وأسلوب المستوى المنخفض.

فكرة كلاين وماكسين هي ذلك كل شىء مكتوبة بأسلوب عالي المستوى ، موجه نحو الكائن ، والتعبيرية ، والتعبيرية. في الإصدار الحالي من Klein ، لا يوجد سوى مكانان صغيران حيث يتم إعاقة النمط من خلال بعض القيود: في تنفيذ إرسال الرسائل ، لا يمكنك إرسال أي رسائل وفي تنفيذ استنساخ الكائنات ، لا يمكنك استنساخ أي كائنات. ومع ذلك ، المترجم الحالي يستطيع في الواقع مضمّن أو حتى تحسين استنساخ الكائنات وإرسال الرسائل تمامًا ، لذلك يمكن إعادة كتابة هذين المكانين بأسلوب ذاتي عادي - إنه لم يفعل أحد حتى الآن.

كل ذلك كان مجرد metacircular vms. هناك أيضًا VMs أخرى مكتوبة بلغات عالية المستوى:

  • Hotruby هو Ruby VM (في الواقع ، yarv vm) مكتوبة في JavaScript ،
  • أشعة الشمس الحمراء هو Ruby VM (في الواقع ، yarv vm) مكتوبة في ActionScript ،
  • رافا هو VM يشبه JVM مكتوبة في Ruby بواسطة Koichi "KO1" Sasada ، مؤلف كتاب Yarv و
  • روفا هو VM يشبه JVM مكتوبة في روبي

نصائح أخرى

هناك المزيد من تطبيقات VM في TCL (لغة أمر الأدوات) و LUA (تم تسميتها أحيانًا باسم Java) وبعضها مكتوب في مجمع. تتم كتابة المتغيرات الأخرى بلغة برمجة نظام أجهزة الكمبيوتر للشركة المصنعة.

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