Predstavljeno je novo izdanje GNU Project implementacije programskog jezika AWK, Gawk 5.2.0. AWK je razvijen 70-ih godina prošlog stoljeća i nije doživio značajnije promjene od sredine 80-ih, u kojima je definirana osnovna okosnica jezika, što mu je omogućilo da zadrži iskonsku stabilnost i jednostavnost jezika u prošlosti. desetljeća. Unatoč poodmakloj dobi, administratori još uvijek aktivno koriste AWK za obavljanje rutinskog rada vezanog uz analiziranje različitih vrsta tekstualnih datoteka i generiranje jednostavne rezultirajuće statistike.
Ključne promjene:
- Dodana je eksperimentalna podrška za pma (persistent malloc) upravitelj memorije, koji vam omogućuje spremanje vrijednosti varijabli, nizova i korisnički definiranih funkcija između različitih pokretanja awk-a.
- Visokoprecizna aritmetička podrška koju pruža biblioteka MPFR izuzeta je iz odgovornosti održavatelja GNU Awk-a i povjerena vanjskom entuzijastu. Napominje se da se implementacija MPFR načina rada u GNU Awku smatra greškom. U slučaju promjene stanja koja se održava, plan je potpuno ukloniti ovu značajku iz GNU Awk-a.
- Ažurirane su komponente infrastrukture za sklapanje Libtool 2.4.7 i Bison 3.8.2.
- Promijenjena je logika usporedbe brojeva koja je usklađena s logikom koja se koristi u jeziku C. Za korisnike, promjena uglavnom utječe na usporedbu Infinity i NaN vrijednosti s uobičajenim brojevima.
- Moguće je koristiti funkciju raspršivanja FNV1-A u asocijativnim nizovima, koja je omogućena kada je varijabla okruženja AWK_HASH postavljena na "fnv1a".
- Podrška za izgradnju pomoću CMakea je uklonjena (Cmake kod podrške nije bio tražen i nije ažuriran pet godina).
- Dodana funkcija mkbool() za stvaranje Booleovih vrijednosti, koje su brojevi, ali se tretiraju kao Booleove.
- U BWK načinu rada, navođenje zastavice "--traditional" prema zadanim postavkama omogućuje podršku za izraze za definiranje raspona prethodno omogućenih opcijom "-r" ("--re-interval").
- Proširenje rwarray nudi nove funkcije writeall() i readall() za pisanje i čitanje svih varijabli i nizova odjednom.
- Dodana gawkbug skripta za prijavu grešaka.
- Omogućeno je trenutno isključivanje ako se otkriju pogreške u sintaksi, što rješava probleme s korištenjem alata za testiranje fuzzinga.
- Podrška za operativne sustave OS/2 i VAX/VMS je ukinuta.
Izvor: opennet.ru