Noua versiune a interpretului GNU Awk 5.2

A fost introdusă o nouă versiune a implementării de către Proiectul GNU a limbajului de programare AWK, Gawk 5.2.0. AWK a fost dezvoltat în anii 70 ai secolului trecut și nu a suferit modificări semnificative de la mijlocul anilor 80, în care a fost definită coloana vertebrală de bază a limbajului, ceea ce i-a permis să mențină stabilitatea și simplitatea impecabile a limbajului în trecut. decenii. În ciuda vârstei sale avansate, AWK este încă utilizat în mod activ de către administratori pentru a efectua lucrări de rutină legate de analizarea diferitelor tipuri de fișiere text și generarea de statistici simple rezultate.

Schimbări cheie:

  • S-a adăugat suport experimental pentru managerul de memorie pma (malloc persistent), care vă permite să salvați valorile variabilelor, ale matricelor și ale funcțiilor definite de utilizator între diferitele rulări ale awk.
  • Suportul aritmetic de înaltă precizie oferit de biblioteca MPFR a fost scos din responsabilitatea întreținătorului GNU Awk și externalizat unui entuziast din afară. Este de notat că implementarea modului MPFR în GNU Awk este considerată o eroare. În cazul unei schimbări de stare menținută, planul este de a elimina complet această caracteristică din GNU Awk.
  • Componentele infrastructurii de asamblare Libtool 2.4.7 și Bison 3.8.2 au fost actualizate.
  • Logica de comparare a numerelor a fost schimbată, ceea ce este adus în conformitate cu logica folosită în limbajul C. Pentru utilizatori, modificarea afectează în principal compararea valorilor Infinity și NaN cu numerele obișnuite.
  • Este posibil să utilizați funcția hash FNV1-A în matrice asociative, care este activată atunci când variabila de mediu AWK_HASH este setată la „fnv1a”.
  • Suportul pentru construirea folosind CMake a fost eliminat (codul de asistență Cmake nu a fost solicitat și nu a fost actualizat timp de cinci ani).
  • S-a adăugat funcția mkbool() pentru a crea valori booleene, care sunt numere, dar sunt tratate ca boolean.
  • În modul BWK, specificarea steagului „--traditional” în mod implicit permite suportul pentru expresii pentru definirea intervalelor activate anterior de opțiunea „-r” („--re-interval”).
  • Extensia rwarray oferă noi funcții writeall() și readall() pentru scrierea și citirea tuturor variabilelor și matricelor simultan.
  • S-a adăugat scriptul gawkbug pentru a raporta erori.
  • Oprirea instantanee este furnizată dacă sunt detectate erori de sintaxă, ceea ce rezolvă problemele legate de utilizarea instrumentelor de testare fuzzing.
  • Suportul pentru sistemele de operare OS/2 și VAX/VMS a fost întrerupt.

Sursa: opennet.ru

Adauga un comentariu