Бүрхүүлийн скриптүүдийг зэрэгцүүлэн гүйцэтгэх хэрэгслүүдийг хөгжүүлдэг PaSh төсөл нь Линукс сангийн ивээл дор хөдөлж байгаагаа зарласан бөгөөд энэ нь хөгжлийг үргэлжлүүлэхэд шаардлагатай дэд бүтэц, үйлчилгээгээр хангах болно. Төслийн код нь MIT лицензийн дагуу тархсан бөгөөд Python, Shell, C, OCaml-ийн бүрэлдэхүүн хэсгүүдийг агуулдаг.
PaSh нь JIT хөрвүүлэгч, ажиллах цаг, тэмдэглэгээний санг агуулдаг:
- Runtime нь скриптүүдийн зэрэгцээ гүйцэтгэлийг дэмжих командуудын багцаар хангадаг.
- Тэмдэглэгээний сан нь POSIX болон GNU Coreutils командуудыг зэрэгцүүлэн суулгахыг зөвшөөрдөг нөхцөл байдлыг тодорхойлсон шинж чанаруудын багцыг тодорхойлдог.
- Хөрвүүлэгч нь санал болгож буй Shell скриптийг хийсвэр синтакс мод (AST) болгон задлан, зэрэгцээ гүйцэтгэхэд тохиромжтой хэсгүүдэд хувааж, тэдгээрийн үндсэн дээр скриптийн шинэ хувилбарыг бүрдүүлдэг бөгөөд тэдгээрийн хэсгүүдийг нэгэн зэрэг гүйцэтгэх боломжтой. Зэрэгцээ болгохыг зөвшөөрдөг командуудын талаарх мэдээллийг хөрвүүлэгч тайлбарын сангаас авдаг. Скриптийн зэрэгцээ ажиллаж байгаа хувилбарыг үүсгэх явцад Runtime-аас нэмэлт бүтцийг код руу оруулна.
Жишээлбэл, f1.md болон f2.md хоёр файлыг боловсруулдаг скрипт, cat f1.md f2.md | tr AZ az | tr -cs A-Za-z '\n' | ангилах | өвөрмөц | comm -13 dict.txt — > out cat out | wc -l | sed 's/$/ алдаатай үгс!/' нь ихэвчлэн хоёр файлыг дараалан боловсруулдаг:
Эх сурвалж: opennet.ru