سؤال

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

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

المحلول

هذه الوثيقة يبدو أن يذهب إلى القليل من التفاصيل (و أعتقد أن وصف كامل خارج نطاق ستاكوفيرفلوو الإجابة):

الفكرة العامة ترجمة من لغة إلى أخرى لا سيما الثورية ، ولكن مؤخرا فقط تم تكتسب شعبية / تطبيق في "العالم الحقيقي" التطبيقات. GWT هل هذا مع جافا (توليد جافا سكريبت) و هناك مكتبة لترجمة هاسكل في مختلف اللغات الأخرى وكذلك (يسمى YHC)

نصائح أخرى

إذا كنت تريد بعض اليد على الأمثلة ، PyPy هو الشروع في العمل الوثيقة قسما بعنوان "محاولة الخروج المترجم".

PyPy المترجم في العام ، وليس المقصود أكثر للاستخدام العام.نستخدمها في ترجمة منطقتنا مترجم بايثون (بما في ذلك JIT و GCs ، سواء المكتوبة في RPython هذا مقيد فرعية من بيثون).والفكرة هي أنه مع JIT و GC, عليك أن تكون قادرا على speedups حتى دون معرفة أو باستخدام PyPy ترجمة toolchain (والأهم من ذلك ، دون تقييد نفسك RPython).

الهتافات ، fijal

هل تبحث عن الثعبان ترجمة خاصة أو عامة "كيف يمكنك تجميع بعض التعليمات البرمجية إلى بايت كود"?إذا كان هذا الأخير هو الحالة الخاصة بك, تحقق على LLVM التعليمي.لا تجد في الفصل الثاني الذي يعلمك أن يكتب مترجم للغة الخاصة بك مثيرة للاهتمام.

يبدو وكأنه شيء على الاطلاق الثورية من مجرد قراءة الوصف ،

بقدر ما أعرف, PyPy هو الرواية بمعنى أنه هو أول نظام مصممة صراحة تنفيذ لغات.أدوات أخرى موجودة للمساعدة بكثير من الواجهة الأمامية ، مثل محلل مولدات أو جدا ، مثل رمز جيل ، ولكن ليس كثيرا موجودة لربط اثنين.

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