Nova verzija GNU Awk 5.2 interpretera

Uvedeno je novo izdanje implementacije GNU projekta programskog jezika AWK, Gawk 5.2.0. AWK je razvijen 70-ih godina prošlog veka i nije pretrpeo značajnije promene od sredine 80-ih, u kojima je definisana osnovna okosnica jezika, što mu je omogućilo da zadrži iskonsku stabilnost i jednostavnost jezika u prošlosti. decenijama. Unatoč poodmakloj dobi, AWK još uvijek aktivno koriste administratori za obavljanje rutinskih poslova vezanih za raščlanjivanje različitih tipova tekstualnih datoteka i generiranje jednostavne rezultujuće statistike.

Ključne promjene:

  • Dodata eksperimentalna podrška za pma (persistent malloc) menadžer memorije, koji vam omogućava da pohranite vrijednosti varijabli, nizova i korisnički definiranih funkcija između različitih pokretanja awk-a.
  • Visoko precizna aritmetička podrška koju pruža MPFR biblioteka uklonjena je iz odgovornosti održavatelja GNU Awk-a i predata vanjskom entuzijastu. Primećeno je da se implementacija MPFR režima u GNU Awk smatra greškom. U slučaju promjene stanja koja se održava, plan je da se ova funkcija potpuno ukloni iz GNU Awk-a.
  • Komponente montažne infrastrukture Libtool 2.4.7 i Bison 3.8.2 su ažurirane.
  • Promijenjena je logika poređenja brojeva, koja je usklađena sa logikom koja se koristi u jeziku C. Za korisnike, promjena uglavnom utiče na poređenje Infinity i NaN vrijednosti sa redovnim brojevima.
  • Moguće je koristiti FNV1-A hash funkciju u asocijativnim nizovima, što je omogućeno kada je varijabla okruženja AWK_HASH postavljena na “fnv1a”.
  • Podrška za izgradnju pomoću CMakea je uklonjena (kod za podršku za Cmake nije bio tražen i nije ažuriran pet godina).
  • Dodata funkcija mkbool() za kreiranje logičkih vrijednosti, koje su brojevi, ali se tretiraju kao Boolean.
  • U BWK modu, navođenje "--tradicionalne" zastavice prema zadanim postavkama omogućava podršku za izraze za definiranje raspona koje je prethodno omogućila opcija "-r" ("--re-interval").
  • Ekstenzija rwarray nudi nove funkcije writeall() i readall() za pisanje i čitanje svih varijabli i nizova odjednom.
  • Dodata gawkbug skripta za prijavu grešaka.
  • Trenutačno gašenje je omogućeno ako se otkriju sintaksičke greške, što rješava probleme s korištenjem alata za fuzzing testiranje.
  • Podrška za OS/2 i VAX/VMS operativne sisteme je ukinuta.

izvor: opennet.ru

Dodajte komentar