Nová verze interpretátoru GNU Awk 5.2

Byla představena nová verze implementace programovacího jazyka AWK od projektu GNU — Gawk 5.2.0. AWK byl vyvinut v 70. letech minulého století a od poloviny 80. let nedoznal významných změn, které definovaly základ jazyka, což umožnilo uchovat původní stabilitu a jednoduchost po posledních desetiletích. I přes svůj pokročilý věk je AWK stále aktivně využíván správci pro provádění rutinních úkolů spojených s analýzou různých textových souborů a generováním jednoduchých statistických výsledků.

Klíčové změny:

  • Byla přidána experimentální podpora pro správce paměti pma (persistent malloc), která umožňuje uchovávat hodnoty proměnných, polí a uživatelských funkcí mezi různými běhy awk.
  • Podpora aritmetiky s vysokou přesností, implementovaná pomocí knihovny MPFR, byla vyřazena z odpovědnosti údržby GNU Awk a předána externímu nadšenci. Je poznamenáno, že implementace režimu MPFR v GNU Awk je považována za chybu. V případě změny stavu s údržbou je plánováno tuto funkčnost úplně odstranit z GNU Awk.
  • Byly aktualizovány komponenty buildovací infrastruktury Libtool 2.4.7 a Bison 3.8.2.
  • Byla změněna logika porovnávání čísel, která byla sladěna s logikou používanou v jazyce C. Pro uživatele změna hlavně zasahuje do porovnání hodnot Infinity a NaN s běžnými čísly.
  • Byla poskytnuta možnost použití hashovací funkce FNV1-A v asociativních polích, kterou lze aktivovat nastavením proměnné prostředí AWK_HASH na hodnotu „fnv1a“.
  • Byla odstraněna podpora pro buildování pomocí CMake (podpora CMake nebyla využívána a pět let nebyla aktualizována).
  • Byla přidána funkce mkbool() pro vytváření logických hodnot, které jsou čísly, ale zpracovávají se jako typ Boolean.
  • V režimu BWK byla při zadaném příznaku „—traditional“ ve výchozím nastavení povolena podpora výrazů pro určení rozsahů, dříve zahrnutých volbou „-r“ („—re-interval“).
  • V rozšíření rwarray byly navrženy nové funkce writeall() a readall() pro zápis a čtení všech proměnných a polí najednou.
  • Byl přidán skript gawkbug pro zasílání informací o chybách.
  • Zajištěno okamžité ukončení práce při zjištění syntaktických chyb, což řeší problémy s využíváním nástrojů pro fuzzing-testování.
  • Podpora operačních systémů OS/2 a VAX/VMS byla ukončena.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster