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