Neue Version des GNU Awk-Interpreters 5.2

Die neue Version der Programmiersprache AWK vom GNU-Projekt — Gawk 5.2.0 wurde vorgestellt. AWK wurde in den 70er Jahren des letzten Jahrhunderts entwickelt und hat seit den 80er Jahren, in denen das GrundgerĂŒst der Sprache festgelegt wurde, keine wesentlichen Änderungen mehr erfahren. Dies hat es ermöglicht, die ursprĂŒngliche StabilitĂ€t und Einfachheit der Sprache in den letzten Jahrzehnten beizubehalten. Trotz seines fortgeschrittenen Alters wird AWK von Administratoren nach wie vor aktiv fĂŒr die DurchfĂŒhrung routinemĂ€ĂŸiger Aufgaben im Zusammenhang mit der Analyse verschiedener Textdateien und der Generierung einfacher Berichtsstatistik eingesetzt.

Wesentliche Änderungen:

  • Experimentelle UnterstĂŒtzung fĂŒr den Speichermanager pma (persistent malloc) wurde hinzugefĂŒgt, der es ermöglicht, Werte von Variablen, Arrays und benutzerdefinierten Funktionen zwischen verschiedenen AWK-LĂ€ufen zu speichern.
  • Die UnterstĂŒtzung fĂŒr die HochprĂ€zisionsarithmetik, die mithilfe der MPFR-Bibliothek realisiert wird, wurde aus der Verantwortung des Betreuers von GNU Awk entfernt und einem externen Enthusiasten ĂŒbergeben. Die Implementierung des MPFR-Modus in GNU Awk wird als Fehler angesehen. Bei Änderungen des Zustands in Bezug auf die Betreuung ist geplant, diese FunktionalitĂ€t vollstĂ€ndig aus GNU Awk zu entfernen.
  • Die Komponenten der Build-Infrastruktur wurden auf Libtool 2.4.7 und Bison 3.8.2 aktualisiert.
  • Die Logik zum Vergleichen von Zahlen wurde angepasst, um der Logik zu entsprechen, die in der Programmiersprache C verwendet wird. FĂŒr die Benutzer betrifft die Änderung hauptsĂ€chlich den Vergleich von Werten wie Infinity und NaN mit normalen Zahlen.
  • Es wurde die Möglichkeit geschaffen, die Hash-Funktion FNV1-A in assoziativen Arrays zu verwenden, die aktiviert wird, indem die Umgebungsvariable AWK_HASH auf 'fnv1a' gesetzt wird.
  • Die UnterstĂŒtzung fĂŒr den Build mit CMake wurde entfernt (der CMake-Support-Code war ungenutzt und wurde fĂŒnf Jahre lang nicht aktualisiert).
  • Die Funktion mkbool() wurde hinzugefĂŒgt, um boolesche Werte zu erstellen, die Zahlen sind, aber als Typ Boolean behandelt werden.
  • Im BWK-Modus ist bei Angabe des Flags '--traditional' standardmĂ€ĂŸig die UnterstĂŒtzung fĂŒr AusdrĂŒcke zur Festlegung von Bereichen aktiviert, die zuvor mit der Option '-r' ('--re-interval') aktiviert wurden.
  • Im rwarray-Extension wurden neue Funktionen writeall() und readall() zum gleichzeitigen Schreiben und Lesen aller Variablen und Arrays vorgeschlagen.
  • Ein Skript gawkbug zur Übermittlung von Fehlermeldungen wurde hinzugefĂŒgt.
  • Es wird ein sofortiger Abschluss der Arbeit gewĂ€hrleistet, wenn syntaktische Fehler erkannt werden, was Probleme mit der Verwendung von Fuzzing-Testtools löst.
  • Die UnterstĂŒtzung fĂŒr die Betriebssysteme OS/2 und VAX/VMS wurde eingestellt.

Quelle: opennet.ru

60GB SSD 8Gb DDR4