El compilador Fortran de NAG es una implementación estándar completa del lenguaje ISO Fortran 2003 con la adición de la mayor parte de Fortran 2008, partes importantes de Fortran 2018 y todo OpenMP 3.1. Su desarrollo se basa en el compilador NAGWare f90, que fue el primer compilador Fortran 90 del mundo. Al igual que su predecesor, el compilador Fortran de NAG ha sido probado y utilizado ampliamente desde su lanzamiento en 1997.

Además, algunas extensiones comunes de Fortran 77 pueden proporcionar soporte para código heredado. Por ejemplo, el compilador Fortran de NAG permite el procesamiento de código que contiene entrada de formato de tabulación, declaraciones del tamaño de byte (por ejemplo, INTEGER * 2) y COMPLEJO DOBLE.

El compilador da amplios mensajes de error, tanto los requeridos por el estándar ISO como la información adicional de compilación y tiempo de ejecución. Los mensajes son informativos en lugar de crípticos y generalmente contienen información de contexto para ayudar a identificar y rectificar problemas. Por esta razón, el compilador es particularmente adecuado para la enseñanza y para los programadores que desean actualizar sus habilidades al nuevo idioma. Los programadores que deseen producir código portátil que cumpla con los estándares se beneficiarán del análisis realizado por el Compilador.

El compilador Fortran de NAG presenta muchas comprobaciones de tiempo de ejecución opcionales, que incluyen: límites de matriz, asociación de puntero, referencias de puntero, referencias de procedimiento, punteros colgantes y variables indefinidas. También hay facilidades para rastrear la asignación de memoria y desasignación y ayudar a identificar pérdidas de memoria.

Los mensajes de error en tiempo de compilación pueden estar codificados por colores para resaltar los errores graves. Se proporciona una opción para generar un rastreo que muestra la pila de llamadas si se produce un error en tiempo de ejecución.

Los módulos integrados proporcionan una interfaz para una gran cantidad de llamadas al sistema Posix, por ejemplo, SYSTEM, y muchas otras.

La recolección automática de basura está disponible como una opción. Esto evita pérdidas de memoria al desasignar la memoria a la que el programa ya no puede acceder.

Además, el compilador proporciona herramientas de software para: convertir código de formato fijo a formato libre; código de impresión bonito ("polaco"); enumerar información de dependencia de módulos e incluir archivos; producir gráficos de llamada; y generar interfaces de procedimientos explícitos como módulos o archivos INCLUDE.

Entre las mejoras más recientes inluidas en la última versión destacan:

  • Ejecución paralela de programas coarray en máquinas de memoria compartida;
  • Punto flotante de media precisión conforme al estándar aritmético IEEE, que incluye soporte completo para todas las excepciones y modos de redondeo;
  • Submodules, una característica de Fortran 2008 para dividir módulos grandes en archivos compilables por separado;
  • Teams, una función de coarray de Fortran 2018 para estructurar la ejecución paralela;
  • Events, una función de coarray de Fortran 2018 para una sincronización ligera de un solo lado;
  • Operaciones atómicas, una función de coarray de Fortran 2018 para actualizar variables atómicas sin sincronización.

Si está interesado en el compilador, consulte a nuestro departamento comercial.