新版本的 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

添加评论