Articulo de referencia

Silverfrost FTN95

Silverfrost FTN95: Fortran para Windows es un compilador para el lenguaje de programación Fortran para computadoras con Microsoft Windows . Genera programas ejecutables a partir...

Silverfrost FTN95: Fortran para Windows es un compilador para el lenguaje de programación Fortran para computadoras con Microsoft Windows . Genera programas ejecutables a partir de código fuente escrito por humanos para IA-32 nativo Win32 , x86-64 (desde la versión 8.00 [ 1 ] ) y para la plataforma .NET de Microsoft . Existe una edición personal gratuita, que genera programas que muestran brevemente un banner, y ediciones comercial y académica.

MATE

FTN95, al igual que su predecesor FTN77, cuenta con sólidas opciones de verificación en tiempo de ejecución, denominadas colectivamente CHECKMATE. Los parámetros del compilador permiten activar diversos niveles de verificación en tiempo de ejecución. Estos incluyen comprobaciones de límites de matrices, modificación de constantes, modificación de bucles DO, comprobación de argumentos y uso de variables no definidas. El tiempo de ejecución de los programas aumenta cuando se utiliza la verificación. [ 2 ]

ClearWin+

ClearWin+ es una biblioteca integrada en el sistema de tiempo de ejecución FTN95. Ofrece una interfaz fácil de usar para la API de Windows y no está disponible al generar código .NET. Utiliza un conjunto de códigos de formato y funciones de devolución de llamada . Los códigos de formato se asemejan a los códigos printf de estilo C. ClearWin+ se utiliza para la interfaz de usuario de Simfit . A partir de la versión 7.00 de FTN95, se incluye una versión de 64 bits de ClearWin+, compatible con compiladores de 64 bits gratuitos.

Un programa sencillo de ClearWin+:

INTEGER i , winio @ EXTERNAL func i = winio @ ( 'Presiona esto para ver qué sucede &' ) i = winio @ ( '%^bt[PRESS]' , func ) ENDc --- Función para hacer algo --- Función entera func () func = 1 FIN

Mediante los códigos de formato disponibles, se puede desarrollar una interfaz gráfica completa con ventanas, menús, cuadros de diálogo emergentes, listas desplegables, cuadros de edición, mapas de bits, barras de herramientas, etc. Las aplicaciones escritas con ClearWin+ también pueden contener regiones gráficas, lo que permite incluir diagramas y gráficos. Asimismo, se pueden incluir gráficos OpenGL .

Espiral de Fermat trazada utilizando Silverfrost FTN95 y ClearWin+.

Un sencillo programa de ClearWin+ que muestra cómo representar gráficamente dos dimensiones utilizando ClearWin+:

USE clrwin INTEGER , PARAMETER :: n = 101 REAL * 8 x ( n ), y ( n ), th1 , a , dth1¡Generar matrices de datos xy!a = 1.d0 th1 = 0.d0 dth1 = 4.d0 * ATAN ( 1.d0 ) / 2 5.d0 HACER i = 1 , n , 1 x ( i ) = a * SQRT ( th1 ) * COS ( th1 ) y ( i ) = a * SQRT ( th1 ) * SIN ( th1 ) th1 = th1 + dth1 FIN HACER ! Configurar gráfico LLAMAR A WINOP @ ( '%pl[frame,etched,gridlines,colour=blue,width=2,symbol=5]' ) LLAMAR A WINOP @ ( '%pl[smoothing=4,x_array,margin=100]' ) LLAMAR A WINOP @ ( '%pl[Title="Espiral de Fermat"]' ) ! Establecer la fuente de la ventana (%fn), el tamaño del texto (%ts) y ponerlo en negrita (%bf) i = WINIO @ ( '%fn[Tahoma]%ts%bf&' , 1.5d0 ) ! Crear una región gráfica de 800 x 800 y trazar una curva definida por los datos en x e y i = WINIO @ ( '%pl' , 800 , 800 , n , x , y ) END

SDBG/SDBG64

FTN95 puede añadir información de depuración adicional a los archivos EXE que genera. Esta función está disponible cuando el usuario la solicita con las opciones de compilador adecuadas ( /debug , /check , /undef ). Los depuradores SDBG/SDBG64 son herramientas rápidas y potentes, más fáciles de aprender y usar que las herramientas de Visual Studio, que si bien son mucho más versátiles, consumen muchos recursos.

Visual Studio

FTN95 fue el primer compilador de Fortran capaz de generar código para Microsoft .NET. Además, existen complementos que permiten escribir, compilar y depurar programas FTN95 dentro de Visual Studio . Estos complementos son totalmente compatibles con la generación de código Win32 y .NET. La versión actual incluye complementos para Visual Studio desde 2008 hasta 2019. Actualmente no hay ningún complemento para Visual Studio 2022. Los complementos de FTN95 se pueden instalar en Visual Studio Community Edition .

Platón

Plato es el entorno de desarrollo integrado que viene con FTN95. Permite editar, compilar y depurar programas de forma similar a los complementos de Visual Studio. Aunque Plato se especializa en Fortran, no se limita a este lenguaje y puede configurarse para funcionar con cualquier compilador. Está diseñado para funcionar de forma independiente de FTN95.

Salford Fortran

FTN95 fue desarrollado por Salford Software Limited, una empresa propiedad de la Universidad de Salford , y es el sucesor de su compilador Fortran 77, FTN77. En agosto de 2004, Salford Software cedió el control de FTN95 a Silverfrost Limited. A la versión de Silverfrost FTN95 se la suele denominar FTN95 de Salford debido a su origen en la Universidad de Salford.

Uso de FTN95 con DLL de terceros

Los programas FTN95 se pueden enlazar con bibliotecas dinámicas generadas por otros compiladores de Fortran, como gFortran e Intel Fortran. Las convenciones de llamada entre estos compiladores son bastante similares, y los enlazadores de Silverfrost (Slink/Slink64) pueden enlazar directamente los archivos objeto de los usuarios con rutinas en una o más bibliotecas dinámicas (DLL) de Windows, como las DLL de Intel MKL, sin necesidad de una biblioteca de importación.

Fortran 2003 y 2008

Las características de los estándares Fortran 2003 y 2008 posteriores están disponibles con FTN95, incluyendo:

Fortran 2003 :

  • Intrínsecos estándar en declaraciones de inicialización.
  • Se permiten NINT, AINT, ANINT y TRANSPOSE en las instrucciones de inicialización.
  • "Asignar según la tarea"
  • ENLACE ISO_C.
  • Asignar en la tarea para los intrínsecos PACK y RESHAPE.
  • Los punteros a procedimientos y procedimientos ligados a tipos de Fortran 2003: (1) Procedimientos ligados a tipos (definidos dentro de TYPE CONTAINS). (2) Punteros a procedimientos de tipo (definidos como miembros de un TYPE). (3) Punteros a procedimientos generales (no definidos con un TYPE).
  • Entrada y salida de flujo.
  • MOVE_ALLOC intrínseco.
  • INTENCIÓN para argumentos de tipo PUNTERO
  • Sentencia de vaciado de E/S.
  • Rutinas de E/S, argumento de palabra clave IOMSG.
  • GET_ENVIRONMENT_VARIABLE intrínseco.
  • Construcción ASOCIADA.
  • Tipos derivados parametrizados.
  • Atributo PROTECTED para variables de módulo.

Fortran 2008 :

  • Ejecutar línea de comandos intrínseca.
  • ISO_FORTRAN_ENV con funciones intrínsecas COMPILER_VERSION() y COMPILER_OPTIONS().
  • Parámetros intrínsecos complejos como ACOS, ACOSH, COSH y TAN.
  • Intrínsecos reales ACOSH, ASINH y ATANH.
  • Construir concurrentemente.
  • ATAN intrínseco(Y,X).
  • z%re y z%im para z complejo.
  • Hipótesis intrínseca (X,Y)
  • FINDLOC intrínseco.
  • ISO_C_BINDING, C_SIZEOF intrínseco.
  • TAMAÑO DE ALMACENAMIENTO intrínseco.
  • Construcción de BLOQUE.
  • Argumento BACK para MINLOC, MAXLOX y FINDLOCK.

Referencias

  1. Silverfrost. "Historial de revisiones de FTN95" . www.silverfrost.com . Consultado el 4 de junio de 2016 .
  2. Silverfrost. "JAQUEMATE: El mejor sistema de comprobación en tiempo de ejecución del mundo" . www.silverfrost.com . Consultado el 4 de junio de 2016 .
  • Sitio web oficial
  • Foro de usuarios de Silverfrost