valhallacبرنامج التحويل البرمجي Valhalla

هذا هو المحلل والمترجم لـ Valhalla ، الذي يستبعد الجهاز الظاهري الذي يعمل عليه Bytecode الذي تم تجميعه ، وهو Brokkr VM.
[!!] التخطيط لإعادة كتابة كاملة ، وموازنة العمل.
ما تم القيام به حتى الآن على الواجهة الأمامية:
يتم تطوير VM ، أي الخلفية للغة ، بشكل منفصل وسيتقدم بشكل شبه مستقل.
في قشرتك ، في جذر هذا المستودع ، يمكنك الكتابة:
cargo run [source-file-to-compile.vh] [-o out-file] [-v] أو ، اطلب --features=debug المترجم طباعة معلومات التصحيح مثل تدفقات الرمز المميز ، وأشجار بناء الجملة ، وجداول الرموز ، وتعليمات الرمز البريطاني ، و ct.
cargo run --features=debug [source-file.vh]على سبيل المثال ، يمكنك الجري.
cargo run test_source.vh -v # For verbose output. لإظهار التجميع مع ملف الاختبار المضمّن ( test_source.vh ). حجة ملف المصدر لتجميعها ، بالطبع ، ضرورية.
Current_compiler_test.md
يحتوي هذا المستودع على الواجهة الأمامية (تجميع محلل و bytecode) الذي يعالج بناء الجملة والدلالات في رمز المصدر. ثم يتم تجميع AST المولدة إلى Brokkr VM bytecode. تتم معالجة تنفيذ رمز bytecode اللاحق بواسطة VM (الجهاز الظاهري) للغة يسمى Brokkr ، والذي يوجد بشكل منفصل عن هذا المستودع.
Valhalla هي لغة برمجة نظرية محددة. وهذا يعني أنه يعتمد على مبادئ من نظرية المجموعة ، بطريقة تكون جميع الأنواع مجرد مجموعات ، وبالتالي كل شيء هو مجرد عنصر في المجموعة. تهدف اللغة إلى إعطاء طريقة جديدة للتفاعل مع الأنواع ، وتوفر طريقة بديهية للتفكير فيها. الهدف هو أنه يمكن أيضًا استخدامه للتحقق من البراهين ومثل هذه النظرية المحددة وحولها.
اللغة غرض عام ، ولكن بدلاً من كونها موجهة تمامًا للكائنات ، أو وظيفية ، وما إلى ذلك ، فهي فقط تعتمد على النظرية. من ما جمعته ، ليس نموذجًا شائعًا جدًا ... من المحتمل لسبب وجيه ، ولكن مهلا ، قد يكون من المثير للاهتمام.
أن تقل بشكل كبير.
