Phiên bản mới của trình thông dịch GNU Awk 5.2

Một bản phát hành mới về việc triển khai ngôn ngữ lập trình AWK của Dự án GNU, Gawk 5.2.0, đã được giới thiệu. AWK được phát triển vào những năm 70 của thế kỷ trước và không trải qua những thay đổi đáng kể kể từ giữa những năm 80, trong đó xương sống cơ bản của ngôn ngữ đã được xác định, điều này cho phép nó duy trì tính ổn định nguyên sơ và tính đơn giản của ngôn ngữ trong quá khứ thập kỷ. Mặc dù tuổi đã cao, AWK vẫn được quản trị viên tích cực sử dụng để thực hiện công việc thường ngày liên quan đến phân tích các loại tệp văn bản khác nhau và tạo số liệu thống kê kết quả đơn giản.

Những thay đổi chính:

  • Đã thêm hỗ trợ thử nghiệm cho trình quản lý bộ nhớ pma (malloc liên tục), cho phép bạn lưu các giá trị của biến, mảng và hàm do người dùng xác định giữa các lần chạy awk khác nhau.
  • Hỗ trợ số học có độ chính xác cao do thư viện MPFR cung cấp đã được loại bỏ khỏi trách nhiệm của người bảo trì GNU Awk và được gia công cho những người đam mê bên ngoài. Cần lưu ý rằng việc triển khai chế độ MPFR trong GNU Awk được coi là một lỗi. Trong trường hợp thay đổi trạng thái được duy trì, kế hoạch là loại bỏ hoàn toàn tính năng này khỏi GNU Awk.
  • Các thành phần cơ sở hạ tầng lắp ráp Libtool 2.4.7 và Bison 3.8.2 đã được cập nhật.
  • Logic để so sánh các số đã được thay đổi, phù hợp với logic được sử dụng trong ngôn ngữ C. Đối với người dùng, sự thay đổi chủ yếu ảnh hưởng đến việc so sánh giá trị Infinity và NaN với các số thông thường.
  • Có thể sử dụng hàm băm FNV1-A trong mảng kết hợp, hàm này được bật khi biến môi trường AWK_HASH được đặt thành “fnv1a”.
  • Hỗ trợ xây dựng bằng CMake đã bị xóa (mã hỗ trợ Cmake không có nhu cầu và chưa được cập nhật trong 5 năm).
  • Đã thêm hàm mkbool() để tạo các giá trị boolean, là các số nhưng được coi là Boolean.
  • Trong chế độ BWK, việc chỉ định cờ "--truyền thống" theo mặc định sẽ cho phép hỗ trợ các biểu thức để xác định phạm vi được bật trước đó bởi tùy chọn "-r" ("--re-interval").
  • Phần mở rộng rwarray cung cấp các hàm mới writeall() và readall() để ghi và đọc tất cả các biến và mảng cùng một lúc.
  • Đã thêm tập lệnh gawkbug để báo cáo lỗi.
  • Tính năng tắt máy ngay lập tức được cung cấp nếu phát hiện thấy lỗi cú pháp, giúp giải quyết các vấn đề khi sử dụng các công cụ kiểm tra làm mờ.
  • Hỗ trợ cho hệ điều hành OS/2 và VAX/VMS đã bị ngừng.

Nguồn: opennet.ru

Thêm một lời nhận xét