Nova različica tolmača GNU Awk 5.2

Predstavljena je bila nova izdaja implementacije programskega jezika AWK projekta GNU, Gawk 5.2.0. AWK je bil razvit v 70. letih prejšnjega stoletja in ni doživel večjih sprememb od sredine 80. let prejšnjega stoletja, v kateri je bila definirana osnovna hrbtenica jezika, ki mu je omogočila ohraniti prvotno stabilnost in preprostost jezika v preteklosti. desetletja. Kljub visoki starosti skrbniki še vedno aktivno uporabljajo AWK za izvajanje rutinskega dela, povezanega z razčlenjevanjem različnih vrst besedilnih datotek in ustvarjanjem preprostih rezultatov statistike.

Ključne spremembe:

  • Dodana eksperimentalna podpora za upravitelja pomnilnika pma (persistent malloc), ki omogoča shranjevanje vrednosti spremenljivk, nizov in uporabniško definiranih funkcij med različnimi zagoni awk.
  • Podpora za visoko natančno aritmetiko, implementirano s knjižnico MPFR, je bila vzeta iz odgovornosti vzdrževalca GNU Awk in prenesena na zunanjega navdušenca. Opozoriti je treba, da se izvajanje načina MPFR v GNU Awk šteje za napako. V primeru vzdrževane spremembe stanja je načrt popolnoma odstraniti to funkcijo iz GNU Awk.
  • Komponenti infrastrukture za sestavljanje Libtool 2.4.7 in Bison 3.8.2 sta bili posodobljeni.
  • Spremenjena je bila logika primerjave števil, ki je usklajena z logiko, ki se uporablja v jeziku C. Za uporabnike sprememba vpliva predvsem na primerjavo vrednosti Infinity in NaN z običajnimi številkami.
  • V asociativnih nizih je mogoče uporabiti zgoščevalno funkcijo FNV1-A, ki je omogočena, ko je spremenljivka okolja AWK_HASH nastavljena na »fnv1a«.
  • Podpora za gradnjo z uporabo CMake je bila odstranjena (podporna koda Cmake ni bila povpraševana in ni bila posodobljena pet let).
  • Dodana funkcija mkbool() za ustvarjanje logičnih vrednosti, ki so števila, vendar se obravnavajo kot logične vrednosti.
  • V načinu BWK določitev privzete zastavice »--traditional« omogoči podporo za izraze obsega, ki jih je prej omogočila možnost »-r« (»--re-interval«).
  • Razširitev rwarray ponuja novi funkciji writeall() in readall() za pisanje in branje vseh spremenljivk in nizov hkrati.
  • Dodan skript gawkbug za poročanje o napakah.
  • Zagotovljena je takojšnja zaustavitev, če so zaznane sintaksne napake, kar rešuje težave z uporabo orodij za testiranje fuzzinga.
  • Podpora za operacijska sistema OS/2 in VAX/VMS je bila ukinjena.

Vir: opennet.ru

Dodaj komentar