Versi baru penerjemah GNU Awk 5.2

Rilis baru implementasi Proyek GNU untuk bahasa pemrograman AWK, Gawk 5.2.0, telah diperkenalkan. AWK dikembangkan pada tahun 70-an abad terakhir dan belum mengalami perubahan signifikan sejak pertengahan tahun 80-an, di mana tulang punggung dasar bahasa didefinisikan, yang memungkinkannya menjaga stabilitas dan kesederhanaan bahasa selama masa lalu. dekade. Meskipun usianya sudah lanjut, AWK masih aktif digunakan oleh administrator untuk melakukan pekerjaan rutin terkait penguraian berbagai jenis file teks dan menghasilkan statistik yang dihasilkan sederhana.

Perubahan utama:

  • Menambahkan dukungan eksperimental untuk manajer memori pma (persistent malloc), yang memungkinkan Anda menyimpan nilai variabel, array, dan fungsi yang ditentukan pengguna di antara berbagai proses awk.
  • Dukungan aritmatika presisi tinggi yang disediakan oleh perpustakaan MPFR telah diambil dari tanggung jawab pengelola GNU Awk dan dialihdayakan ke pihak luar. Perlu dicatat bahwa penerapan mode MPFR di GNU Awk dianggap sebagai bug. Jika terjadi perubahan status yang berkelanjutan, rencananya adalah menghapus sepenuhnya fitur ini dari GNU Awk.
  • Komponen infrastruktur perakitan Libtool 2.4.7 dan Bison 3.8.2 telah diperbarui.
  • Logika perbandingan angka telah diubah, sejalan dengan logika yang digunakan dalam bahasa C. Bagi pengguna, perubahan tersebut terutama mempengaruhi perbandingan nilai Infinity dan NaN dengan angka biasa.
  • Dimungkinkan untuk menggunakan fungsi hash FNV1-A dalam array asosiatif, yang diaktifkan ketika variabel lingkungan AWK_HASH diatur ke β€œfnv1a”.
  • Dukungan untuk membangun menggunakan CMake telah dihapus (kode dukungan Cmake tidak diminati dan belum diperbarui selama lima tahun).
  • Menambahkan fungsi mkbool() untuk membuat nilai boolean, yang berupa angka tetapi diperlakukan sebagai Boolean.
  • Dalam mode BWK, menentukan tanda "--tradisional" secara default mengaktifkan dukungan untuk ekspresi rentang yang sebelumnya diaktifkan oleh opsi "-r" ("--re-interval").
  • Ekstensi rwarray menawarkan fungsi baru writeall() dan readall() untuk menulis dan membaca semua variabel dan array sekaligus.
  • Menambahkan skrip gawkbug untuk melaporkan bug.
  • Shutdown instan disediakan jika kesalahan sintaksis terdeteksi, yang memecahkan masalah dengan penggunaan alat pengujian fuzzing.
  • Dukungan untuk sistem operasi OS/2 dan VAX/VMS telah dihentikan.

Sumber: opennet.ru

Tambah komentar