Bemutatásra került az AWK programozási nyelv GNU projekt általi új kiadása — Gawk 5.2.0. Az AWK-ot az 1970-es években fejlesztették ki, és jelentős változásokon nem ment keresztül az 1980-as évek közepe óta, amikor is a nyelv alapvető vázát meghatározták, lehetővé téve ezzel az elmúlt évtizedekben a nyelv eredeti stabilitásának és egyszerűségének megőrzését. Annak ellenére, hogy a nyelv már régóta létezik, az AWK-ot továbbra is aktívan használják rendszergazdák különféle szöveges fájlok elemzésére és egyszerű statisztikák generálására.
Kulcsfontosságú változások:
- Kísérleti támogatás került bevezetésre a pma (persistent malloc) memória menedzserhez, amely lehetővé teszi a változók, tömbök és felhasználói funkciók értékeinek megőrzését az awk különböző futásai között.
- A nagy pontosságú aritmetika támogatása, amelyet az MPFR könyvtár segítségével valósítanak meg, ki lett vonva a GNU Awk felügyelete alól, és át lett adva egy külső lelkesedőnek. Megjegyzendő, hogy az MPFR üzemmód GNU Awk-ban való megvalósítása hibának tekinthető. Amennyiben a felügyelet módosul, ezt a funkciót teljesen el kívánják távolítani a GNU Awk-ból.
- A build infrastruktúra elemei frissítve lettek: Libtool 2.4.7 és Bison 3.8.2.
- Megváltozott a számok összehasonlításának logikája, amely mostantól a C nyelvben alkalmazott logikához igazodik. A felhasználók számára a változás elsősorban az Infinity és NaN értékek szokványos számokkal való összehasonlítását érinti.
- Lehetőséget biztosítanak az FNV1-A hash függvény használatára az asszociatív tömbökben, amely aktiválható az AWK_HASH környezeti változó "fnv1a" értékre állításával.
- Eltávolították a CMake használatával történő build-támogatást (a CMake támogatás kódja igénytelen volt, és öt éve nem frissült).
- Bevezetésre került az mkbool() funkció, amely logikai értékeket hoz létre, amelyek számok, de Boolean típusúként kezelik őket.
- A BWK üzemmódban, a "--traditional" flag megadásakor alapértelmezés szerint meg van engedve a tartományok meghatározására szolgáló kifejezések támogatása, amely korábban a "-r" („--re-interval”) opcióval volt engedélyezve.
- Az rwarray kiterjesztésben új writeall() és readall() funkciók kerültek bemutatásra a változók és tömbök egyidejű írására és olvasására.
- Megerősítésre került a gawkbug szkript a hibainformációk benyújtására.
- A szintaktikai hibák észlelése esetén azonnali leállítás biztosított, ami megoldja a fuzzing tesztelő eszközök használatával kapcsolatos problémákat.
- Megszűnt az OS/2 és VAX/VMS operációs rendszerek támogatása.
Forrás: opennet.ru
