Nieuwe versie van de GNU Awk 5.2-interpreter

Een nieuwe versie van de implementatie van de AWK-programmeertaal door het GNU Project, Gawk 5.2.0, is geïntroduceerd. AWK werd ontwikkeld in de jaren '70 van de vorige eeuw en heeft geen significante veranderingen ondergaan sinds het midden van de jaren '80, waarin de fundamentele ruggengraat van de taal werd gedefinieerd, waardoor het de ongerepte stabiliteit en eenvoud van de taal in het verleden kon behouden. tientallen jaren. Ondanks zijn hoge leeftijd wordt AWK nog steeds actief gebruikt door beheerders om routinewerk uit te voeren met betrekking tot het parseren van verschillende soorten tekstbestanden en het genereren van eenvoudige resulterende statistieken.

Belangrijkste wijzigingen:

  • Experimentele ondersteuning toegevoegd voor de pma (persistent malloc) geheugenbeheerder, waarmee u de waarden van variabelen, arrays en door de gebruiker gedefinieerde functies kunt opslaan tussen verschillende runs van awk.
  • De zeer nauwkeurige rekenkundige ondersteuning van de MPFR-bibliotheek is buiten de verantwoordelijkheid van de GNU Awk-onderhouder gevallen en uitbesteed aan een externe liefhebber. Opgemerkt wordt dat de implementatie van de MPFR-modus in GNU Awk als een bug wordt beschouwd. In het geval van een voortdurende statuswijziging is het plan om deze functie volledig uit GNU Awk te verwijderen.
  • De assemblage-infrastructuurcomponenten Libtool 2.4.7 en Bison 3.8.2 zijn bijgewerkt.
  • De logica voor het vergelijken van getallen is gewijzigd, wat in lijn is gebracht met de logica die in de C-taal wordt gebruikt. Voor gebruikers heeft de wijziging vooral invloed op de vergelijking van Infinity- en NaN-waarden met reguliere getallen.
  • Het is mogelijk om de FNV1-A-hashfunctie te gebruiken in associatieve arrays, die wordt ingeschakeld wanneer de omgevingsvariabele AWK_HASH is ingesteld op “fnv1a”.
  • Ondersteuning voor het bouwen met CMake is verwijderd (de Cmake-ondersteuningscode was niet in trek en is al vijf jaar niet bijgewerkt).
  • Functie mkbool() toegevoegd om Booleaanse waarden te creëren, dit zijn getallen maar worden behandeld als Booleaanse waarden.
  • In de BWK-modus maakt het opgeven van de vlag "--traditional" standaard ondersteuning mogelijk voor expressies voor het definiëren van bereiken die eerder waren ingeschakeld door de optie "-r" ("--re-interval").
  • De rwarray-extensie biedt nieuwe functies writeall() en readall() voor het in één keer schrijven en lezen van alle variabelen en arrays.
  • Gawkbug-script toegevoegd om bugs te melden.
  • Als er syntaxisfouten worden gedetecteerd, wordt het programma onmiddellijk afgesloten, waardoor problemen met het gebruik van fuzzing-testtools worden opgelost.
  • Ondersteuning voor OS/2- en VAX/VMS-besturingssystemen is stopgezet.

Bron: opennet.ru

Voeg een reactie