Voodoo Compiler

البرمجيات قطة:
Voodoo Compiler
تفاصيل البرنامج:
الإصدار: 1.1.1
تاريخ إيداع: 20 Feb 15
المطور: Robbert Haarman
ترخيص: حرر
شعبية: 6

Rating: nan/5 (Total Votes: 0)

والفودو مترجم هو تنفيذ لغة البرمجة الفودو على & nbsp؛. لغة البرمجة الفودو هي لغة برمجة منخفضة المستوى، التلخيص على تعليمات للمنبر ضبط وتدعو الاتفاقيات، لكنه ترك وإلا فإن مبرمج حر في أن يفعل أي شيء على الإطلاق.
هو مكتوب الفودو مترجم في روبي ويولد رمز لI386 متوافق، AMD64، وMIPS وحدات المعالجة المركزية. ومن المقرر دعم إضافية وحدات المعالجة المركزية المستهدفة للمستقبل.
استعمال
هناك طريقتان رئيسيتان لاستخدام مترجم الفودو: عن طريق تشغيل برنامج voodooc، أو باستخدام API روبي.
يجمع برنامج voodooc على الملفات المصدر الفودو. يوصف استخدامه في manpage voodooc.1، المدرجة في التوزيع. وفيما يلي مثال على كيف يمكن استخدام voodooc لخلق مرحبا قابل للتنفيذ من hello.voo الملف المصدر:
$ voodooc hello.voo
$ سم مكعب hello.o -o مرحبا
$ ./hello
مرحبا أيها العالم!
تنفيذا لhello.voo يمكن العثور عليها في اختبار دليل للتوزيع.
والطريقة الثانية لاستخدام مترجم الفودو هو عن طريق استخدامه من برنامج روبي. ويمكن استخدام هذا، على سبيل المثال، لتوليد رمز للمنصة الهدف دون الحاجة إلى إنشاء ملف .voo. وفيما يلي مثال مما يخلق ملف كائن يسمى fact.o، التي تحتوي على تعريف للحقيقة وظيفة التي يحسب factorials:
تتطلب "الفودو"
مولد = الفودو :: CodeGenerator.get_generator: الهندسة المعمارية =>: I386،
على & nbsp؛: تنسيق =>: قزم
generator.export: حقيقة
generator.add_function_label: حقيقة
generator.add_function [: ن]،
على & nbsp؛ [: ifle، [: ن 1]،
على & nbsp؛ # ثم
على & nbsp؛ [[: عودة (1)،]]،
على & nbsp؛ # آخر
على & nbsp؛ [[: لندع،: س،: الفرعي،: ن 1]،
على & nbsp؛ [: مجموعة،: س،: الدعوة، و: حقيقة،: س]،
على & nbsp؛ [: العودة،: مول،: ن،: س]]]
File.open ('fact.o'، 'ث') {| OUTFILE | OUTFILE generator.write}
يوصف مترجم API الفودو هذا هو متاحة لبرامج روبي في وثائق API

ما هو الجديد في هذا الإصدار:.

التوافق مع روبي 1.9، بالإضافة إلى روبي 1.8. جعل الاختبار الآن تقارير عدد من الاختبارات مرت وفشلت.
وقد تم تقسيم الاختبار العديد من-فار في العديد من وسائط، العديد من وسائط-الذيل، والعديد من السكان المحليين.

ما هو الجديد في الإصدار 1.0.1:

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

ما هو الجديد في الإصدار 1.0.0:

مولد رمز ARM: المترجم ويمكن الآن توليد التجمع وELF رمز الكائن لبنية ARM.
تحسين الإبلاغ الخطأ: تم الكشف عن المزيد من الأخطاء، ويتم الإبلاغ عن الأخطاء في أسهل للفهم رسائل خطأ.
وحدة مدقق: يمكن أن تستخدم هذه الوحدة الجديدة للتحقق من صحة إنشاء رمز الفودو. يتم استخدامه من قبل محلل للتحقق من صحة كود تحليل.
واجهة تقرير اخبارى: ملامح تنفيذ يمكن الاستعلام على حد سواء برمجيا ومن سطر الأوامر.

ما هو الجديد في الإصدار 0.7.0:

كتل: توفر هذه النطاقات التي يمكن تعريف المتغيرات المحلية مع let. وجود مثل هذه المتغيرات من نهاية البيان اسمحوا حتى نهاية الكتلة. يمكن أن تحدث كتل في أي مكان حيث يمكن أن يحدث هذا العمل. وبدأوا مع كتلة وانتهت مع نهاية كتلة.
الشرطية بالسلاسل: هو عليه الآن من الممكن إرسال ومثل؛ آخر إذا ومثل ؛، بدلا من تتطلب متداخلة إذا كان في بند آخر.
(، ROR رول) أضيفت تحويل الإجراءات (ASR، BSR، SHL، SHR) وتدوير الإجراءات التي: تحويل وتدوير.
العودة دون قيمة: يمكن الآن تستخدم عودة دون تحديد تعبير لتقييم. هذا يسبب قيمة غير محددة إلى أن تعاد من وظيفة.

ما هو الجديد في الإصدار 0.6.3:

هذا الإصدار يقدم المعرض للتعبيرات: عن طريق التقديم تسمية، متغير محلي، أو عدد صحيح مع @، يتم التعامل مع قيمة باعتبارها يتم إرجاع عنوان، وكلمة المخزنة في هذا العنوان.
بالإضافة إلى ذلك، تم الكشف عن بعض الخلل في طريقة السلاسل والمشفرة في إنشاء التعليمات البرمجية التجمع.
وقد تم إصلاح هذه الأخطاء، والنسخة 0.6.3 يعالج الآن السلاسل التي تحتوي على جميع القيم الممكنة بايت 256 بشكل صحيح.

ما هو الجديد في الإصدار 0.6.2:

هذا الإصدار بإصلاح الخلل في التنفيذ من مجموعة كلمة لI386 و AMD64 ويضيف اختبارات للحالات التي سبق لم يعمل بشكل صحيح .

برامج مماثلة

CIL
CIL

20 Feb 15

execline
execline

18 Jul 15

Octave
Octave

2 Jun 15

تعليقات ل Voodoo Compiler

لم يتم العثور على التعليقات
إضافة تعليق
بدوره على الصور!