โครงการ PaSh ซึ่งพัฒนาเครื่องมือสำหรับการดำเนินการเชลล์สคริปต์แบบขนาน ได้ประกาศว่ากำลังดำเนินการภายใต้การอุปถัมภ์ของ Linux Foundation ซึ่งจะมอบโครงสร้างพื้นฐานและบริการที่จำเป็นเพื่อการพัฒนาต่อไป รหัสโครงการเผยแพร่ภายใต้ใบอนุญาต MIT และรวมส่วนประกอบใน Python, Shell, C และ OCaml
PaSh มีคอมไพเลอร์ JIT, รันไทม์ และไลบรารีคำอธิบายประกอบ:
- รันไทม์จัดเตรียมชุดของพื้นฐานเพื่อรองรับการเรียกใช้สคริปต์แบบขนาน
- ไลบรารีคำอธิบายประกอบกำหนดชุดของคุณสมบัติที่อธิบายสถานการณ์ที่อนุญาตให้ใช้คำสั่ง POSIX และ GNU Coreutils แบบขนาน
- คอมไพเลอร์จะแยกวิเคราะห์สคริปต์เชลล์ที่เสนอทันทีเป็นแผนผังไวยากรณ์เชิงนามธรรม (AST) แบ่งออกเป็นส่วนที่เหมาะสมสำหรับการประมวลผลแบบขนาน และบนพื้นฐานของสคริปต์เหล่านี้จะสร้างเวอร์ชันใหม่ของสคริปต์ ซึ่งบางส่วนสามารถดำเนินการพร้อมกันได้ ข้อมูลเกี่ยวกับคำสั่งที่อนุญาตให้มีการขนานจะถูกรวบรวมโดยคอมไพเลอร์จากไลบรารีคำอธิบายประกอบ ในกระบวนการสร้างสคริปต์เวอร์ชันที่ทำงานแบบขนาน โครงสร้างเพิ่มเติมจากรันไทม์จะถูกแทรกลงในโค้ด
ตัวอย่างเช่น สคริปต์ที่ประมวลผลสองไฟล์ f1.md และ f2.md cat f1.md f2.md | tr AZ az | tr -cs A-Za-z '\n' | เรียงลำดับ | ยูนิค | comm -13 dict.txt — > ออก cat out | สุขา -l | sed 's/$/ mispelled word!/' โดยปกติจะประมวลผลสองไฟล์ตามลำดับ:
ที่มา: opennet.ru