Nueva versión del intérprete GNU Awk 5.2

Se ha presentado una nueva versión de la implementación del lenguaje de programación AWK del Proyecto GNU, Gawk 5.2.0. AWK fue desarrollado en los años 70 del siglo pasado y no ha sufrido cambios significativos desde mediados de los 80, en los que se definió la columna vertebral básica del lenguaje, lo que le ha permitido mantener la prístina estabilidad y simplicidad del lenguaje a lo largo del pasado. décadas. A pesar de su avanzada edad, los administradores todavía utilizan activamente AWK para realizar trabajos de rutina relacionados con el análisis de varios tipos de archivos de texto y la generación de estadísticas resultantes simples.

Cambios clave:

  • Se agregó soporte experimental para el administrador de memoria pma (persistent malloc), que le permite guardar los valores de variables, matrices y funciones definidas por el usuario entre diferentes ejecuciones de awk.
  • El soporte para aritmética de alta precisión implementado usando la biblioteca MPFR ha sido retirado de la responsabilidad del mantenedor de GNU Awk y transferido a un entusiasta externo. Cabe señalar que la implementación del modo MPFR en GNU Awk se considera un error. En caso de un cambio de estado mantenido, el plan es eliminar por completo esta característica de GNU Awk.
  • Se han actualizado los componentes de infraestructura de ensamblaje Libtool 2.4.7 y Bison 3.8.2.
  • Se ha cambiado la lógica para comparar números, que se alinea con la lógica utilizada en el lenguaje C. Para los usuarios, el cambio afecta principalmente a la comparación de los valores Infinity y NaN con números normales.
  • Es posible utilizar la función hash FNV1-A en matrices asociativas, que se habilita cuando la variable de entorno AWK_HASH se establece en "fnv1a".
  • Se eliminó el soporte para compilar usando CMake (el código de soporte de Cmake no tuvo demanda y no se actualizó durante cinco años).
  • Se agregó la función mkbool() para crear valores booleanos, que son números pero se tratan como booleanos.
  • En el modo BWK, especificar el indicador "--traditional" de forma predeterminada habilita la compatibilidad con expresiones para definir rangos previamente habilitados por la opción "-r" ("--re-interval").
  • La extensión rwarray ofrece nuevas funciones writeall() y readall() para escribir y leer todas las variables y matrices a la vez.
  • Se agregó el script gawkbug para informar errores.
  • Se proporciona un apagado instantáneo si se detectan errores de sintaxis, lo que resuelve los problemas con el uso de herramientas de prueba de fuzzing.
  • Se ha interrumpido el soporte para los sistemas operativos OS/2 y VAX/VMS.

Fuente: opennet.ru

Añadir un comentario