Nouvelle version de l'interpréteur GNU Awk 5.2

Une nouvelle version de l'implémentation du projet GNU du langage de programmation AWK, Gawk 5.2.0, a été introduite. AWK a été développé dans les années 70 du siècle dernier et n'a pas subi de changements significatifs depuis le milieu des années 80, au cours duquel l'épine dorsale du langage a été définie, ce qui lui a permis de conserver la stabilité et la simplicité intactes du langage au cours du passé. décennies. Malgré son âge avancé, AWK est toujours activement utilisé par les administrateurs pour effectuer des travaux de routine liés à l'analyse de divers types de fichiers texte et à la génération de statistiques simples.

Changements clés :

  • Ajout d'un support expérimental pour le gestionnaire de mémoire pma (persistent malloc), qui vous permet de sauvegarder les valeurs des variables, des tableaux et des fonctions définies par l'utilisateur entre différentes exécutions d'awk.
  • Le support arithmétique de haute précision fourni par la bibliothèque MPFR a été retiré de la responsabilité du responsable de GNU Awk et sous-traité à un passionné extérieur. Il est à noter que l'implémentation du mode MPFR dans GNU Awk est considérée comme un bug. En cas de changement d'état maintenu, il est prévu de supprimer complètement cette fonctionnalité de GNU Awk.
  • Les composants d'infrastructure d'assemblage Libtool 2.4.7 et Bison 3.8.2 ont été mis à jour.
  • La logique de comparaison des nombres a été modifiée, qui s'aligne sur la logique utilisée dans le langage C. Pour les utilisateurs, le changement affecte principalement la comparaison des valeurs Infinity et NaN avec des nombres réguliers.
  • Il est possible d'utiliser la fonction de hachage FNV1-A dans les tableaux associatifs, qui est activée lorsque la variable d'environnement AWK_HASH est définie sur « fnv1a ».
  • La prise en charge de la construction à l'aide de CMake a été supprimée (le code de support Cmake n'était pas demandé et n'a pas été mis à jour depuis cinq ans).
  • Ajout de la fonction mkbool() pour créer des valeurs booléennes, qui sont des nombres mais sont traitées comme des booléennes.
  • En mode BWK, la spécification de l'indicateur "--traditional" par défaut active la prise en charge des expressions pour définir des plages précédemment activées par l'option "-r" ("--re-interval").
  • L'extension rwarray propose de nouvelles fonctions writeall() et readall() pour écrire et lire toutes les variables et tous les tableaux en même temps.
  • Ajout du script gawkbug pour signaler les bugs.
  • Un arrêt instantané est fourni si des erreurs de syntaxe sont détectées, ce qui résout les problèmes liés à l'utilisation des outils de test de fuzzing.
  • La prise en charge des systèmes d'exploitation OS/2 et VAX/VMS a été interrompue.

Source: opennet.ru

Ajouter un commentaire