Prezentēta jaunā GNU projekta AWK programmēšanas valodas realizācija — Gawk 5.2.0. AWK tika izstrādāts 70. gadu beigās un kopš 80. gadu vidus nav piedzīvojis būtiskas izmaiņas, nosakot valodas pamatus, kas ļāvuši saglabāt stabilitāti un vienkāršību. Neskatoties uz vecumu, AWK joprojām aktīvi izmanto administratori, lai veiktu rutīnas uzdevumus, kas saistīti ar dažādu tekstu failu apstrādi un vienkāršu rezultātu statistikas ģenerēšanu.
Galveno izmaiņu saraksts:
- Pievienota eksperimentālā pma (persistent malloc) atmiņas menedžera atbalsts, kas ļauj saglabāt mainīgo, masīvu un lietotāja funkciju vērtības starp dažādām awk palaišanām.
- Augstas precizitātes aritmētikas atbalsts, kas realizēts ar MPFR bibliotēkas palīdzību, izņemts no GNU Awk uzturēšanas un nodots trešajam entuziastam. Norādīts, ka MPFR režīma realizācija GNU Awk tiek uzskatīta par kļūdu. Ja stāvokļa maiņas laikā tiks atgriezta uzturēšana, šī iespēja tiks pilnībā izņemta no GNU Awk.
- Atjaunināti kompilācijas infrastruktūras komponenti Libtool 2.4.7 un Bison 3.8.2.
- Mainīta skaitļu salīdzināšanas loģika, kas pielāgota C valodas lietotajai loģikai. Lietotājiem izmaiņas galvenokārt attiecas uz Infinity un NaN vērtību salīdzināšanu ar parastiem skaitļiem.
- Iespējams izmantot FNV1-A hesh funkciju asociatīvajos masīvos, ieslēdzot to, iestatot vides mainīgo AWK_HASH uz «fnv1a».
- Izņemta CMake lietošanas atbalsta montāža (CMake atbalsta kods nav bijis pieprasīts un pēdējo piecu gadu laikā nav atjaunināts).
- Pievienota mkbool() funkcija, lai izveidotu loģiskos vērtības, kas ir skaitļi, bet tiek apstrādāti kā Boolean tips.
- BWK režīmā, norādot karogus «—traditional», pamatā tiek ieslēgta izteikumu atbalsts diapazonu noteikšanai, agrāk iekļauta ar opciju «-r» («—re-interval»).
- Rwarray paplašinājumā piedāvātas jaunas funkcijas writeall() un readall() visām mainīgajām un masīviem rakstīšanai un lasīšanai.
- Pievienots gawkbug skripts informācijas par kļūdām nosūtīšanai.
- Tiek nodrošināta momentāna darbības pārtraukšana, ja tiek konstatētas sintakses kļūdas, kas risina problēmas ar fuzzing testēšanas rīku izmantošanu.
- Atbalsts operētājsistēmām OS/2 un VAX/VMS ir pārtraukts.
Avots: opennet.lv
