Nová verze interpretu GNU Awk 5.2

Byla představena nová verze implementace programovacího jazyka AWK projektu GNU, Gawk 5.2.0. AWK byl vyvinut v 70. letech minulého století a od poloviny 80. let neprošel výraznými změnami, ve kterých byla definována základní páteř jazyka, což mu umožnilo zachovat původní stabilitu a jednoduchost jazyka v minulosti. dekády. I přes svůj pokročilý věk je AWK stále aktivně využíván administrátory k provádění rutinních prací souvisejících s analýzou různých typů textových souborů a generováním jednoduchých výsledných statistik.

Klíčové změny:

  • Přidána experimentální podpora pro správce paměti pma (persistent malloc), který umožňuje ukládat hodnoty proměnných, polí a uživatelsky definovaných funkcí mezi různými běhy awk.
  • Vysoce přesná aritmetická podpora poskytovaná knihovnou MPFR byla vyňata ze zodpovědnosti správce GNU Awk a svěřena externímu nadšenci. Je třeba poznamenat, že implementace režimu MPFR v GNU Awk je považována za chybu. V případě udržované změny stavu je plánem tuto funkci z GNU Awk úplně odstranit.
  • Komponenty montážní infrastruktury Libtool 2.4.7 a Bison 3.8.2 byly aktualizovány.
  • Byla změněna logika porovnávání čísel, která je uvedena do souladu s logikou používanou v jazyce C. Pro uživatele se změna dotkne především srovnání hodnot Infinity a NaN s běžnými čísly.
  • V asociativních polích je možné použít hashovací funkci FNV1-A, která je povolena, když je proměnná prostředí AWK_HASH nastavena na „fnv1a“.
  • Podpora pro vytváření pomocí CMake byla odstraněna (kód podpory Cmake nebyl požadován a nebyl aktualizován po dobu pěti let).
  • Přidána funkce mkbool() pro vytvoření booleovských hodnot, což jsou čísla, ale jsou považovány za booleovské.
  • V režimu BWK, zadání příznaku "--tradiční" ve výchozím nastavení umožňuje podporu výrazů pro definování rozsahů dříve povolených volbou "-r" ("--re-interval").
  • Rozšíření rwarray nabízí nové funkce writeall() a readall() pro zápis a čtení všech proměnných a polí najednou.
  • Přidán skript gawkbug pro hlášení chyb.
  • Okamžité vypnutí je zajištěno, pokud jsou zjištěny syntaktické chyby, což řeší problémy s používáním fuzzing testovacích nástrojů.
  • Podpora operačních systémů OS/2 a VAX/VMS byla ukončena.

Zdroj: opennet.ru

Přidat komentář