新版的 GNU Awk 5.2 解譯器

推出了 GNU 專案 AWK 程式語言實作的新版本 Gawk 5.2.0。 AWK 開發於 70 年代,自 80 年代中期以來一直沒有重大變化,其中定義了語言的基本主幹,這使得它能夠保持過去語言原始的穩定性和簡單性幾十年。 儘管 AWK 已經很老了,但管理員仍然積極使用 AWK 來執行與解析各種類型的文字檔案和產生簡單的結果統計資料相關的日常工作。

關鍵變化:

  • 新增了對 pma(持久性 malloc)記憶體管理器的實驗性支持,它允許您在不同的 awk 運行之間保存變數、陣列和使用者定義函數的值。
  • MPFR 庫提供的高精度算術支援已不再由 GNU Awk 維護者負責,而是外包給外部愛好者。 值得注意的是,GNU Awk 中 MPFR 模式的實作被視為一個錯誤。 如果維護的狀態發生變化,請計劃從 GNU Awk 中完全刪除此功能。
  • 組裝基礎設施組件 Libtool 2.4.7 和 Bison 3.8.2 已更新。
  • 比較數字的邏輯已更改,與 C 語言中使用的邏輯一致。 對使用者來說,變化主要影響Infinity和NaN值與常規數字的比較。
  • 可以在關聯數組中使用 FNV1-A 雜湊函數,當 AWK_HASH 環境變數設定為“fnv1a”時啟用該函數。
  • 對使用 CMake 建置的支援已被刪除(Cmake 支援程式碼沒有需求,並且已經五年沒有更新)。
  • 新增了 mkbool() 函數來建立布林值,這些值是數字,但被視為布林值。
  • 在 BWK 模式下,預設指定「--traditional」標誌可以支援定義先前由「-r」(「--re-interval」)選項啟用的範圍的表達式。
  • rwarray 擴充功能提供了新函數 writeall() 和 readall(),用於一次寫入和讀取所有變數和陣列。
  • 新增了 gawkbug 腳本來報告錯誤。
  • 如果偵測到語法錯誤,可以立即關閉,這解決了使用模糊測試工具的問題。
  • 對 OS/2 和 VAX/VMS 作業系統的支援已停止。

來源: opennet.ru

添加評論