17. Notas de Implementación

Este apéndice contiene información de interés principalmente para implementadores y mantenedores de gawk. Todo lo que aparece aquí se aplica especificamente a gawk, y no a otras implementaciones.

Compatibilidad hacia atrás y Depuración

Ver la sección Extensiones en gawk que no están en S5R4, para ver un sumario de las extensiones GNU al lenguaje y programa awk. Todas estas características pueden ser desactivadas o compilando gawk con ‘-DSTRICT’ (no se recomienda), o invocando gawk con la opción ‘-c’.

Si se compila gawk para depuración con ‘-DDEBUG’ , entonces existen dos opciones más disponibles desde la línea de comando:

`-d'

      Imprime información de depuración durante la ejecución.

`-D'

      Imprime la información de la pila del analizador de sentencias según se va analizando el programa.

Ambas opciones están pensadas solamente para desarrolladores de gawk serios, y no para usuarios ocasionales. Ellas no han sido compiladas probablemente con tu versión de gawk, ya que conllevan una ejecución lenta.

El código para reconocer nombres de ficheros especiales tal y como ‘/dev/stdin’ puede ser deshabilitado en tiempo de compilación con `-DNO_DEV_FD', o con `-DSTRICT'.

Futuras Extensiones Posibles

Esta sección lista exhaustivamente las extensiones que indican las direcciones que estamos considerando actualmente para gawk.

Un printf compatible con el ANSI C

      Las funciones printf y sprintf podrían ser mejoradas para hacerlas totalmente compatibles con la especificación para la familia de funciones printf de ANSI C.

RS como una regexp

      El significado de RS podría ser generalizado a través de las líneas de FS.

Control del entorno de subproceso

      Los cambios hechos en gawk al array ENVIRON podría ser propagado a subprocesos ejecutados por gawk.

Bases de Datos

      Podría ser posible mapear un fichero NDBM/GDBM a un array awk.

Campos de un único carácter

      La cadena nula, “”, como separador de campo, causará la partición en campos y la función split para separar caracteres individuales. Por lo que, split(a, "abcd", "") produciría a[1] == "a", a[2] == "b", y así sucesivamente.

Registros y campos de longitud fija

      Se podría proporcionar un mecanismo para permitir la especificación de registros y campos de longitud fija.

Sintáxis de Expreg

      La sintaxis de egrep para expresiones regulares, que se especifica ahora mismo con la opción ‘-e’, podría llegar a ser el comportamiento por defecto, ya que el estandárd POSIX podría especificar esto.

   
Índice
Manual