PaSh նախագիծը, որը գործիքներ է մշակում shell սկրիպտների զուգահեռ կատարման համար, հայտարարել է, որ շարժվում է Linux հիմնադրամի հովանու ներքո, որը կտրամադրի ենթակառուցվածքները և ծառայությունները, որոնք անհրաժեշտ են զարգացումը շարունակելու համար: Ծրագրի կոդը բաշխվում է MIT լիցենզիայի ներքո և ներառում է Python, Shell, C և OCaml բաղադրիչներ:
PaSh-ը ներառում է JIT կոմպիլյատոր, գործարկման ժամանակ և անոտացիաների գրադարան.
- Runtime-ն ապահովում է պրիմիտիվների մի շարք՝ սկրիպտների զուգահեռ կատարմանը աջակցելու համար:
- Անոտացիաների գրադարանը սահմանում է հատկությունների մի շարք, որոնք նկարագրում են իրավիճակներ, որոնցում թույլատրվում է POSIX և GNU Coreutils առանձին հրամանների զուգահեռացումը:
- Կոմպիլյատորը վերլուծում է առաջարկված Shell սցենարը վերացական շարահյուսական ծառի (AST), այն բաժանում է զուգահեռ կատարման համար հարմար հատվածների և դրանց հիման վրա կազմում է սցենարի նոր տարբերակը, որի մասերը կարող են կատարվել միաժամանակ: Զուգահեռացում թույլ տվող հրամանների մասին տեղեկատվությունը կազմողը վերցված է ծանոթագրությունների գրադարանից: Սկրիպտի զուգահեռ գործող տարբերակ ստեղծելու գործընթացում Runtime-ից լրացուցիչ կոնստրուկտներ են տեղադրվում կոդի մեջ։
Օրինակ՝ սկրիպտ, որը մշակում է երկու ֆայլ f1.md և f2.md cat f1.md f2.md | տր ԱԶ ազ | tr -cs A-Za-z '\n' | տեսակավորել | uniq | comm -13 dict.txt — > դուրս կատու դուրս | wc -l | sed 's/$/ սխալ գրված բառեր!/' սովորաբար մշակում է երկու ֆայլ հաջորդաբար.
Source: opennet.ru