Νέα έκδοση του διερμηνέα GNU Awk 5.2

Παρουσιάστηκε μια νέα έκδοση της εφαρμογής της γλώσσας προγραμματισμού AWK από το έργο GNU, Gawk 5.2.0. Το AWK αναπτύχθηκε στη δεκαετία του '70 του περασμένου αιώνα και δεν έχει υποστεί σημαντικές αλλαγές από τα μέσα της δεκαετίας του '80, όπου ορίστηκε η βασική ραχοκοκαλιά της γλώσσας, γεγονός που του επέτρεψε να διατηρήσει την παρθένα σταθερότητα και απλότητα της γλώσσας στο παρελθόν δεκαετίες. Παρά την προχωρημένη ηλικία του, το AWK εξακολουθεί να χρησιμοποιείται ενεργά από τους διαχειριστές για την εκτέλεση εργασιών ρουτίνας που σχετίζονται με την ανάλυση διαφόρων τύπων αρχείων κειμένου και τη δημιουργία απλών στατιστικών που προκύπτουν.

Βασικές αλλαγές:

  • Προστέθηκε πειραματική υποστήριξη για τη διαχείριση μνήμης pma (persistent malloc), η οποία σας επιτρέπει να αποθηκεύετε τις τιμές των μεταβλητών, των πινάκων και των συναρτήσεων που καθορίζονται από το χρήστη μεταξύ διαφορετικών εκτελέσεων awk.
  • Η αριθμητική υποστήριξη υψηλής ακρίβειας που παρέχεται από τη βιβλιοθήκη MPFR έχει αφαιρεθεί από την ευθύνη του συντηρητή GNU Awk και έχει ανατεθεί σε εξωτερικούς λάτρεις. Σημειώνεται ότι η υλοποίηση της λειτουργίας MPFR στο GNU Awk θεωρείται σφάλμα. Σε περίπτωση διατηρούμενης αλλαγής κατάστασης, το σχέδιο είναι να καταργηθεί πλήρως αυτή η δυνατότητα από το GNU Awk.
  • Τα στοιχεία υποδομής συναρμολόγησης Libtool 2.4.7 και Bison 3.8.2 έχουν ενημερωθεί.
  • Η λογική για τη σύγκριση αριθμών έχει αλλάξει, η οποία εναρμονίζεται με τη λογική που χρησιμοποιείται στη γλώσσα C. Για τους χρήστες, η αλλαγή επηρεάζει κυρίως τη σύγκριση των τιμών Infinity και NaN με κανονικούς αριθμούς.
  • Είναι δυνατή η χρήση της συνάρτησης κατακερματισμού FNV1-A σε συσχετιστικούς πίνακες, η οποία ενεργοποιείται όταν η μεταβλητή περιβάλλοντος AWK_HASH έχει οριστεί σε "fnv1a".
  • Η υποστήριξη για δημιουργία με χρήση CMake έχει καταργηθεί (ο κωδικός υποστήριξης Cmake δεν ήταν σε ζήτηση και δεν έχει ενημερωθεί για πέντε χρόνια).
  • Προστέθηκε η συνάρτηση mkbool() για τη δημιουργία δυαδικών τιμών, οι οποίες είναι αριθμοί αλλά αντιμετωπίζονται ως Boolean.
  • Στη λειτουργία BWK, ο καθορισμός της σημαίας "--παραδοσιακό" από προεπιλογή επιτρέπει την υποστήριξη εκφράσεων για τον καθορισμό περιοχών που είχαν ενεργοποιηθεί προηγουμένως από την επιλογή "-r" ("--re-interval").
  • Η επέκταση rwarray προσφέρει νέες συναρτήσεις writeall() και readall() για εγγραφή και ανάγνωση όλων των μεταβλητών και των πινάκων ταυτόχρονα.
  • Προστέθηκε το σενάριο gawkbug για αναφορά σφαλμάτων.
  • Παρέχεται άμεσος τερματισμός λειτουργίας εάν εντοπιστούν συντακτικά σφάλματα, γεγονός που επιλύει προβλήματα με τη χρήση εργαλείων δοκιμής ασάφειας.
  • Η υποστήριξη για λειτουργικά συστήματα OS/2 και VAX/VMS έχει διακοπεί.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο