Den nye utgaven av programmeringsspråket AWK fra GNU-prosjektet — Gawk 5.2.0 er lansert. AWK ble utviklet på 70-tallet og har ikke gjennomgått betydelige endringer siden midten av 80-tallet, da hovedstrukturen av språket ble definert, noe som har gjort det mulig å opprettholde den opprinnelige stabiliteten og enkelheten til språket gjennom de siste tiårene. Til tross for sin alder er AWK fortsatt aktivt brukt av administratorer til å utføre rutineoppgaver relatert til parsingen av ulike tekstfiler og genereringen av enkel resultatstatistikk.
Nøkkelendringer:
- Eksperimentell støtte for PMA (persistent malloc)-minnehåndterer er lagt til, som gjør det mulig å lagre verdiene til variabler, arrayer og brukerdefinerte funksjoner mellom forskjellige kjøringer av awk.
- Støtten for høy presisjonsaritmetikk, implementert ved hjelp av MPFR-biblioteket, er fjernet fra ansvaret for vedlikeholderne av GNU Awk og overført til en ekstern entusiast. Det påpekes at implementeringen av MPFR-modus i GNU Awk blir sett på som en feil. Ved endring av vedlikeholdsstatus, planlegges det å fjerne denne muligheten fra GNU Awk helt.
- Byggeenhetskomponentene Libtool 2.4.7 og Bison 3.8.2 er oppdatert.
- Logikken for sammenligning av tall er endret til å samsvare med logikken som brukes i C. For brukere vil endringen hovedsakelig påvirke sammenligningen av verdiene Infinity og NaN med normale tall.
- Muligheten til å bruke FNV1-A hash-funksjonen i assosiative arrayer er introdusert, ved å sette miljøvariabelen AWK_HASH til 'fnv1a'.
- Støtten for bygging med CMake er fjernet (CMake-støttens kode var ustøttet og ikke oppdatert på fem år).
- Funksjonen mkbool() for å lage boolske verdier, som er tall, men behandles som Boolean-type, er lagt til.
- I BWK-modus, når flagget '—traditional' er angitt, er støtten for uttrykk for å bestemme områder, tidligere inkludert ved '-r' ('—re-interval'), nå aktivert som standard.
- Det er foreslått nye funksjoner writeall() og readall() i rwarray-utvidelsen for å skrive til og lese fra alle variabler og arrayer på en gang.
- Gawkbug-skriptet for å rapportere feil er lagt til.
- Sikre at arbeidsprosessen umiddelbart stoppes ved påvisning av syntaksfeil, noe som løser problemer med bruken av verktøy for fuzzing-testing.
- Støtten for operativsystemene OS/2 og VAX/VMS er avsluttet.
Kilde: opennet.ru
