Nova versão do interpretador GNU Awk 5.2

Uma nova versão da implementação da linguagem de programação AWK do Projeto GNU, Gawk 5.2.0, foi introduzida. O AWK foi desenvolvido na década de 70 do século passado e não sofreu alterações significativas desde meados dos anos 80, quando foi definida a espinha dorsal da linguagem, o que lhe permitiu manter a estabilidade imaculada e a simplicidade da linguagem ao longo do passado. décadas. Apesar de sua idade avançada, o AWK ainda é usado ativamente por administradores para realizar trabalhos de rotina relacionados à análise de vários tipos de arquivos de texto e à geração de estatísticas simples resultantes.

Principais mudanças:

  • Adicionado suporte experimental para o gerenciador de memória pma (persistent malloc), que permite salvar os valores de variáveis, arrays e funções definidas pelo usuário entre diferentes execuções do awk.
  • O suporte aritmético de alta precisão fornecido pela biblioteca MPFR foi retirado da responsabilidade do mantenedor do GNU Awk e terceirizado para um entusiasta externo. Observa-se que a implementação do modo MPFR no GNU Awk é considerada um bug. No caso de uma mudança de estado mantida, o plano é remover completamente esse recurso do GNU Awk.
  • Os componentes de infraestrutura de montagem Libtool 2.4.7 e Bison 3.8.2 foram atualizados.
  • A lógica de comparação de números foi alterada, alinhando-se com a lógica usada na linguagem C. Para os usuários, a mudança afeta principalmente a comparação dos valores Infinity e NaN com números regulares.
  • É possível utilizar a função hash FNV1-A em arrays associativos, que é habilitada quando a variável de ambiente AWK_HASH é definida como “fnv1a”.
  • O suporte para construção usando CMake foi removido (o código de suporte Cmake não estava em demanda e não foi atualizado por cinco anos).
  • Adicionada função mkbool() para criar valores booleanos, que são números, mas são tratados como booleanos.
  • No modo BWK, especificar o sinalizador "--traditional" por padrão habilita o suporte a expressões para definir intervalos previamente habilitados pela opção "-r" ("--re-interval").
  • A extensão rwarray oferece novas funções writeall() e readall() para escrever e ler todas as variáveis ​​e arrays de uma só vez.
  • Adicionado script gawkbug para relatar bugs.
  • O desligamento instantâneo é fornecido se forem detectados erros de sintaxe, o que resolve problemas com o uso de ferramentas de teste de difusão.
  • O suporte para sistemas operacionais OS/2 e VAX/VMS foi descontinuado.

Fonte: opennet.ru

Adicionar um comentário