Noua versiune a interpretului GNU Awk 5.2

S-a lansat o nouă versiune a limbajului de programare AWK din cadrul proiectului GNU — Gawk 5.2.0. AWK a fost dezvoltat în anii '70 și nu a suferit modificări semnificative din anii '80, când a fost definit cadrul de bază al limbajului, permițându-i să păstreze stabilitatea și simplitatea originală de-a lungul decadelor. În ciuda vârstei sale înaintate, AWK este încă folosit activ de administratorii de sistem pentru a efectua sarcini de rutină legate de analiza diferitelor tipuri de fișiere text și generarea de statistici simple.

Modificări cheie:

  • A fost adăugată suport experimental pentru managerul de memorie pma (persistent malloc), care permite salvarea valorilor variabilelor, a array-urilor și a funcțiilor personalizate între diferite runde de execuție awk.
  • Suportul pentru aritmetica de înaltă precizie, implementat cu ajutorul bibliotecii MPFR, a fost scos din responsabilitatea dezvoltatorilor GNU Awk și transferat unui entuziast extern. Se menționează că implementarea modului MPFR în GNU Awk este considerată o greșeală. În cazul unei schimbări de stare cu supraveghere, se preconizează eliminarea completă a acestei facilități din GNU Awk.
  • Au fost actualizate componentele infrastructurii de compilare Libtool 2.4.7 și Bison 3.8.2.
  • Logica de comparare a numerelor a fost modificată astfel încât să fie conformă cu logica utilizată în limbajul C. Pentru utilizatori, schimbarea afectează în principal compararea valorilor Infinity și NaN cu numere normale.
  • A fost introdusă posibilitatea de a utiliza funcția hash FNV1-A în array-uri asociative, activată prin setarea variabilei de mediu AWK_HASH la valoarea „fnv1a”.
  • Suportul pentru compilare folosind CMake a fost eliminat (codul de suport CMake a fost neutilizat și nu a fost actualizat timp de cinci ani).
  • A fost adăugată funcția mkbool() pentru a crea valori boolean, care sunt numere, dar sunt tratate ca tip Boolean.
  • În modul BWK, activarea opțiunii „—traditional” include implicit suportul pentru expresii ce definesc intervale, anterior incluse prin opțiunea „-r” („—re-interval”).
  • Extensia rwarray oferă noi funcții writeall() și readall() pentru a scrie și citi toate variabilele și array-urile în bloc.
  • A fost adăugat scriptul gawkbug pentru a transmite informații despre erori.
  • Se asigură încheierea imediată a execuției în cazul identificării erorilor de sintaxă, ceea ce rezolvă problemele legate de utilizarea instrumentelor de testare fuzzing.
  • Suportul pentru sistemele de operare OS/2 și VAX/VMS a fost oprit.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster