Nova versión do intérprete GNU Awk 5.2

Introduciuse unha nova versión da implementación do proxecto GNU da linguaxe de programación AWK, Gawk 5.2.0. AWK desenvolveuse nos anos 70 do século pasado e non sufriu cambios significativos desde mediados dos 80, nos que se definiu a columna vertebral básica da linguaxe, o que lle permitiu manter a prístina estabilidade e sinxeleza da lingua no pasado. décadas. A pesar da súa avanzada idade, AWK aínda é empregado activamente polos administradores para realizar traballos rutineiros relacionados coa análise de varios tipos de ficheiros de texto e coa xeración de estatísticas resultantes sinxelas.

Cambios clave:

  • Engadiuse soporte experimental para o xestor de memoria pma (malloc persistente), que permite gardar os valores de variables, matrices e funcións definidas polo usuario entre diferentes execucións de awk.
  • O soporte aritmético de alta precisión proporcionado pola biblioteca MPFR foi eliminado da responsabilidade do mantedor de GNU Awk e subcontratado a un entusiasta externo. Nótase que a implementación do modo MPFR en GNU Awk considérase un erro. No caso de que se manteña un cambio de estado, o plan é eliminar completamente esta función de GNU Awk.
  • Actualizáronse os compoñentes da infraestrutura de montaxe Libtool 2.4.7 e Bison 3.8.2.
  • Cambiouse a lóxica para comparar números, que se axusta á lóxica empregada na linguaxe C. Para os usuarios, o cambio afecta principalmente á comparación dos valores Infinity e NaN con números regulares.
  • É posible usar a función hash FNV1-A en matrices asociativas, que está habilitada cando a variable de ambiente AWK_HASH está configurada como "fnv1a".
  • Eliminouse a compatibilidade para construír usando CMake (o código de compatibilidade de Cmake non estaba en demanda e non se actualizou durante cinco anos).
  • Engadiuse a función mkbool() para crear valores booleanos, que son números pero se tratan como booleanos.
  • No modo BWK, especificar a marca "--traditional" de forma predeterminada habilita o soporte para expresións para definir intervalos habilitados previamente pola opción "-r" ("--re-interval").
  • A extensión rwarray ofrece novas funcións writeall() e readall() para escribir e ler todas as variables e matrices á vez.
  • Engadiuse o script gawkbug para informar de erros.
  • Ofrécese un apagado instantáneo se se detectan erros de sintaxe, o que resolve os problemas co uso de ferramentas de proba de fuzzing.
  • O soporte para os sistemas operativos OS/2 e VAX/VMS foi descontinuado.

Fonte: opennet.ru

Engadir un comentario