أعلن مشروع PaSh، الذي يطور أدوات للتنفيذ المتوازي لنصوص shell، أنه يتحرك تحت رعاية مؤسسة Linux، التي ستوفر البنية التحتية والخدمات اللازمة لمواصلة التطوير. يتم توزيع رمز المشروع بموجب ترخيص MIT ويتضمن مكونات في Python وShell وC وOCaml.
يتضمن PaSh مترجم JIT ومكتبة وقت التشغيل والتعليقات التوضيحية:
- يوفر وقت التشغيل مجموعة من الأوليات لدعم التنفيذ المتوازي للبرامج النصية.
- تحدد مكتبة التعليقات التوضيحية مجموعة من الخصائص التي تصف المواقف التي يُسمح فيها بالتوازي بين أوامر POSIX وGNU Coreutils الفردية.
- يقوم المترجم بتحليل نص Shell المقترح إلى شجرة بناء جملة مجردة (AST)، ويقسمه إلى أجزاء مناسبة للتنفيذ المتوازي، وبناءً عليها يشكل نسخة جديدة من البرنامج النصي، يمكن تنفيذ أجزاء منها في وقت واحد. يتم أخذ المعلومات حول الأوامر التي تسمح بالتوازي بواسطة المترجم من مكتبة التعليقات التوضيحية. في عملية إنشاء نسخة تشغيل متوازية من البرنامج النصي، يتم إدراج بنيات إضافية من وقت التشغيل في التعليمات البرمجية.
على سبيل المثال، برنامج نصي يعالج ملفين f1.md وf2.md cat f1.md f2.md | آر من الألف إلى الياء | tr -cs A-Za-z '\n' | فرز | يونيك | comm -13 dict.txt —> خارج القط | مرحاض -ل | sed 's/$/ الكلمات التي بها أخطاء إملائية!/' عادةً ما تعالج ملفين بالتسلسل:
المصدر: opennet.ru