New version of GNU Awk 5.2 interpreter

A new release of the GNU project's implementation of the AWK programming language, Gawk 5.2.0, has been introduced. AWK was developed in the 70s of the last century and has not undergone significant changes since the mid-80s, in which the main backbone of the language was defined, which has made it possible to maintain the original stability and simplicity of the language over the past decades. Despite its advanced age, AWK is still actively used by administrators to perform routine work related to parsing various kinds of text files and generating simple resulting statistics.

Key changes:

  • Added experimental support for the pma (persistent malloc) memory manager, which allows you to save the values ​​of variables, arrays, and user-defined functions between different runs of awk.
  • Support for high-precision arithmetic provided by the MPFR library has been removed from the responsibility of the GNU Awk maintainer and passed on to an outside enthusiast. It is noted that GNU Awk's implementation of MPFR mode is considered a bug. In the case of a maintained state change, it is planned to completely remove this feature from GNU Awk.
  • Updated build infrastructure components Libtool 2.4.7 and Bison 3.8.2.
  • The logic of comparison of numbers has been changed, which is brought into line with the logic used in the C language. For users, the change mainly affects the comparison of Infinity and NaN values ​​with regular numbers.
  • Provided the ability to use the FNV1-A hash function in associative arrays, enabled by setting the AWK_HASH environment variable to "fnv1a".
  • Removed support for building using CMake (the Cmake support code was not in demand and has not been updated for five years).
  • Added the mkbool() function to create boolean values ​​that are numbers but are treated as a Boolean type.
  • In BWK mode, specifying the "--traditional" flag by default enables support for range expressions previously included with the "-r" ("--re-interval") option.
  • The rwarray extension provides new writeall() and readall() functions for writing and reading all variables and arrays at once.
  • Added gawkbug script to report errors.
  • Instantaneous shutdown is provided in case of syntax errors, which solves problems using tools for fuzzing testing.
  • Support for OS/2 and VAX/VMS operating systems has been dropped.

Source: opennet.ru

Add a comment