A PaSh projekt, amely párhuzamos shell-szkriptek végrehajtásához fejleszt eszközöket, bejelentette, hogy átlépett a Linux Foundation védnöksége alá, amely biztosítja a fejlesztés folytatásához szükséges infrastruktúrát és szolgáltatásokat. A projekt kódja MIT licensz alatt terjed és Python, Shell, C, valamint OCaml nyelveken írt komponenseket tartalmaz.
A PaSh tartalmaz JIT fordítót, futtatókörnyezetet és annotációs könyvtárat:
- A futtatókörnyezet primitívek készletét biztosítja a szkriptek párhuzamos végrehajtásának támogatásához.
- Az annotációs könyvtár meghatároz egy tulajdonságokat tartalmazó készletet, amely leírja azokat a helyzeteket, amikor a POSIX és a GNU Coreutils parancsok párhuzamos végrehajtása engedélyezett.
- A fordító a javasolt Shell-szkriptet absztrakt szintaktikai fába (AST) alakítja, darabokra bontja, amelyek alkalmasak a párhuzamos végrehajtásra, és ezek alapján egy új szkript változatot alakít ki, amelynek részei egyidejűleg hajthatók végre. Azokat a parancsokat, amelyek párhuzamosításra alkalmasak, a fordító az annotációs könyvtárból nyeri. A párhuzamosan végrehajtott szkript változatának generálása során a kódba további konstrukciók kerülnek a Futtatókörnyezetből.

Például a szkript, amely két fájlt dolgoz fel, f1.md és f2.md cat f1.md f2.md | tr A-Z a-z | tr -cs A-Za-z ‘\n’ | sort | uniq | comm -13 dict.txt — > out cat out | wc -l | sed ‘s/$/ hibás szavak!/' a szokásos körülmények között párhuzamosan dolgozza fel a két fájlt:


Forrás: opennet.ru
