ล่าม GNU Awk 5.2 เวอร์ชันใหม่

มีการเปิดตัว Gawk 5.2.0 ภาษาการเขียนโปรแกรม AWK รุ่นใหม่ของโครงการ GNU AWK ได้รับการพัฒนาในช่วงทศวรรษที่ 70 ของศตวรรษที่ผ่านมา และไม่มีการเปลี่ยนแปลงที่สำคัญเลยนับตั้งแต่ช่วงกลางทศวรรษที่ 80 โดยมีการกำหนดกระดูกสันหลังพื้นฐานของภาษา ซึ่งทำให้สามารถรักษาเสถียรภาพและความเรียบง่ายของภาษาในอดีตได้ ทศวรรษ แม้จะอายุมากแล้ว แต่ผู้ดูแลระบบยังคงใช้ AWK อย่างแข็งขันเพื่อทำงานประจำที่เกี่ยวข้องกับการแยกวิเคราะห์ไฟล์ข้อความประเภทต่างๆ และสร้างสถิติผลลัพธ์อย่างง่าย

การเปลี่ยนแปลงที่สำคัญ:

  • เพิ่มการสนับสนุนการทดลองสำหรับตัวจัดการหน่วยความจำ pma (persistent malloc) ซึ่งช่วยให้คุณสามารถบันทึกค่าของตัวแปร อาร์เรย์ และฟังก์ชันที่ผู้ใช้กำหนดระหว่างการรัน awk ที่แตกต่างกัน
  • การสนับสนุนทางคณิตศาสตร์ที่มีความแม่นยำสูงที่จัดทำโดยไลบรารี MPFR ได้ถูกนำออกจากความรับผิดชอบของผู้ดูแล GNU Awk และว่าจ้างบุคคลภายนอกให้กับผู้ที่ชื่นชอบภายนอก มีข้อสังเกตว่าการใช้งานโหมด MPFR ใน GNU Awk ถือเป็นข้อบกพร่อง ในกรณีที่มีการเปลี่ยนแปลงสถานะ มีแผนจะลบคุณลักษณะนี้ออกจาก GNU Awk โดยสมบูรณ์
  • ส่วนประกอบโครงสร้างพื้นฐานแอสเซมบลี Libtool 2.4.7 และ Bison 3.8.2 ได้รับการอัปเดตแล้ว
  • มีการเปลี่ยนแปลงตรรกะในการเปรียบเทียบตัวเลขซึ่งสอดคล้องกับตรรกะที่ใช้ในภาษาซี สำหรับผู้ใช้การเปลี่ยนแปลงส่วนใหญ่จะส่งผลต่อการเปรียบเทียบค่า Infinity และ NaN กับตัวเลขปกติ
  • คุณสามารถใช้ฟังก์ชันแฮช FNV1-A ในอาร์เรย์ที่เชื่อมโยงได้ ซึ่งจะเปิดใช้งานเมื่อตัวแปรสภาพแวดล้อม AWK_HASH ถูกตั้งค่าเป็น “fnv1a”
  • การสนับสนุนการสร้างโดยใช้ CMake ถูกลบออกแล้ว (รหัสสนับสนุน Cmake ไม่เป็นที่ต้องการและไม่ได้รับการอัปเดตเป็นเวลาห้าปี)
  • เพิ่มฟังก์ชัน mkbool() เพื่อสร้างค่าบูลีน ซึ่งเป็นตัวเลข แต่จะถือว่าเป็นบูลีน
  • ในโหมด BWK การระบุแฟล็ก "--ดั้งเดิม" เป็นค่าเริ่มต้นจะเปิดใช้งานการรองรับนิพจน์ช่วงที่เปิดใช้งานก่อนหน้านี้โดยตัวเลือก "-r" ("--re-interval")
  • ส่วนขยาย rwarray มีฟังก์ชันใหม่ writeall() และ readall() สำหรับการเขียนและอ่านตัวแปรและอาร์เรย์ทั้งหมดในครั้งเดียว
  • เพิ่มสคริปต์ gawkbug เพื่อรายงานข้อบกพร่อง
  • มีการปิดระบบทันทีหากตรวจพบข้อผิดพลาดทางไวยากรณ์ ซึ่งจะช่วยแก้ปัญหาในการใช้เครื่องมือทดสอบที่ไม่ชัดเจน
  • การสนับสนุนระบบปฏิบัติการ OS/2 และ VAX/VMS ถูกยกเลิกแล้ว

ที่มา: opennet.ru

เพิ่มความคิดเห็น