Ekupheleni kwenyanga edlule sabelana lapha engosini izindaba zokuthi UBrian Kernighan, omunye wabadali be-AWK wayekuqinisekisile lokho iqhubeka ngemuva kwekhodi ye-AWK, enikeza ukwesekwa nokuthuthukisa lolu limi lokucubungula (ungathintana nezindaba ku isixhumanisi esilandelayo.)
Isizathu sokubalula lokhu ukuthi muva nje inguqulo entsha yokuqaliswa kwe-GNU-Gawk ikhishwe 5.2.0, yolimi lokuhlela lwe-AWK.
I-AWK yasungulwa ngawo-70 futhi ayizange ibe nezinguquko ezibalulekile kusukela phakathi nawo-80, lapho kuchazwa umgogodla oyinhloko wolimi, okwenze kwaba nokwenzeka ukugcina ukuzinza nokulula kolimi ngokuhamba kwesikhathi nangesikhathi esidlule. amashumi eminyaka.
I-AWK yayingenye yezinsiza zokuqala ze-console idume ngokuphatha (ukuphatha/ukukhipha) idatha ngokwandisa ukusebenza kwamapayipi we-UNIX. Ulimi olunikezwa yile nsizakalo njengamanje luyindinganiso cishe kuzo zonke izinhlelo zokusebenza zesimanje ze-UNIX, kangangokuthi luyingxenye yemininingwane eyisisekelo ye-UNIX, ngakho-ke ngokuvamile lutholakala seluvele lufakiwe iningi lazo ngokuzenzakalelayo.
Naphezu kokukhula kwakhe, Abaphathi basasebenzisa i-AWK ukwenza umsebenzi ojwayelekile ohlobene nokuhlaziya izinhlobo ezahlukene zamafayela ombhalo kanye nokukhiqiza izibalo ezilula eziwumphumela.
Lo myalo uhlinzeka ngolimi lokubhala lokucutshungulwa kombhalo esingakwazi ngalo: Ukuchaza okuguquguqukayo, ukusebenzisa iyunithi yezinhlamvu nama-opharetha ezibalo, ukusebenzisa isilawuli sokugeleza namalophu, futhi sikhiqize imibiko efomethiwe. Empeleni, i-Awk ingaphezu nje komyalo olula wokucubungula iphethini, iwulimi lonke lokuhlaziya i-semantic.
Izici ezintsha eziyinhloko ze-GNU Awk 5.2
Kule nguqulo entsha eyethulwa, kugqanyiswe ukuthi wengeze ukwesekwa kokuhlola komphathi wememori ye-pma (i-malloc eqhubekayo), ekuvumela ukuthi ulondoloze amanani okuguquguqukayo, ama-array, nemisebenzi echazwe ngumsebenzisi phakathi kokuqalisa okuhlukile kwe-awk.
Olunye ushintsho olugqamile kule nguqulo entsha ukuthi ushintshe umqondo wokuqhathanisa zezinombolo, eziqondana nengqondo esetshenziswa olimini C. Kubasebenzisi, ushintsho luthinta kakhulu ukuqhathaniswa kwamanani we-Infinity kanye ne-NaN ngezinombolo ezijwayelekile.
Ngaphezu kwalokho, futhi kuyaphawulwa ukuthi ikhono lokusebenzisa umsebenzi we-hashi we-FNV1-A kuma-associative array inikwa amandla ngokusetha i-AWK_HASH eguquguqukayo yemvelo ukuze ithi "fnv1a".
Kumodi ye-BWK, ukucacisa ifulegi elithi “–losiko” ngokuzenzakalelayo kunikeza amandla ukusebenzisana nezinkulumo zohla ezifakwe ngaphambilini nenketho ethi “-r” (“–re-interval”) inketho.
Isandiso se-rwarray sinikeza imisebenzi emisha yokubhala () kanye ne-readall () ukuze ibhale futhi ifunde zonke izinto eziguquguqukayo kanye nezinhlelo ngesikhathi esisodwa.
Ngaphezu kwalo, ukusekelwa kwezibalo ezinembayo eziphezulu, yenziwe kusetshenziswa umtapo wezincwadi we-MPFR, ngaphezu kwalokho ikhishiwe kumthwalo womnakekeli we-GNU Awk futhi idluliselwe kumshisekeli wenkampani yangaphandle. Kuyaphawulwa ukuthi ukusetshenziswa kwemodi ye-MPFR ye-GNU Awk kuthathwa njengesiphazamisi. Uma kwenzeka kuba noshintsho oluqhubekayo lwesimo, kuhlelwe ukususa ngokuphelele lesi sici ku-GNU Awk.
Kwezinye izinguquko okuvelele kule nguqulo entsha:
- Izingxenye zengqalasizinda yokwakha ebuyekeziwe i-Libtool 2.4.7 kanye ne-Bison 3.8.2.
- Kususwe ukwesekwa kokuhlanganiswa ne-CMake (ukusekelwa kwekhodi ye-CMake bekungadingeki futhi akuzange kubuyekezwe iminyaka emihlanu).
- Kwengezwe umsebenzi we-mkbool() ukudala amanani we-boolean ayizinombolo, kodwa aphathwa njengohlobo lwe-boolean.
- Kwengezwe iskripthi se-gawkbug ukubika iziphazamisi.
- Ukuvala shaqa okusheshayo kunikezwa emaphutheni e-syntax, ukuxazulula izinkinga kusetshenziswa amathuluzi e-fuzzing.
- Kube nokuhlanzwa kwamakhodi amaningi amancane nokulungiswa kweziphazamisi.
- Usekelo lwezinhlelo zokusebenza ze-OS/2 kanye ne-VAX/VMS kususiwe.
Okokugcina, uma unentshisekelo yokwazi okwengeziwe ngayo, ungabheka imininingwane Kulesi sixhumanisi esilandelayo.