Articulo de referencia

Ratfor

Ratfor (abreviatura de Rational Fortran ) es un lenguaje de programación implementado como preprocesador para Fortran 66. Proporciona estructuras de control modernas , no dispon...

Ratfor (abreviatura de Rational Fortran ) es un lenguaje de programación implementado como preprocesador para Fortran 66. Proporciona estructuras de control modernas , no disponibles en Fortran 66, para reemplazar las instrucciones GOTO y los números de sentencia.

Características

Ratfor proporciona los siguientes tipos de instrucciones de control de flujo, descritas por Kernighan y Plauger como "descaradamente robadas del lenguaje C , desarrollado para el sistema operativo UNIX por DM Ritchie " ("Software Tools", p.  318):

  • Agrupación de sentencias con llaves
  • if-else , while , for , do , repeat-until , break , next
  • Declaraciones de formato libre, es decir, no sujetas a las reglas de formato de Fortran.
  • <, >, >=, ... en lugar de .LT., .GT., .GE., ...
  • incluir
  • # comentarios

Por ejemplo, el siguiente código

Si ( a > b ) { máximo = a } de lo contrario { máximo = b }

podría traducirse como

SI (. NO .( ​​A . GT . B )) IR ​​A 1 MÁX = A IR A 2  1 CONTINUAR MÁX = B  2 CONTINUAR

La versión de Ratfor incluida en Software Tools está escrita en Ratfor, al igual que los programas de ejemplo, y dado que existe una traducción a Fortran, puede portarse a cualquier sistema Fortran. Los nombres de los archivos de código fuente de Ratfor terminan en .r o .rat.

Historia

Ratfor fue diseñado e implementado por Brian Kernighan en los Laboratorios Bell Telephone en 1974, y descrito en Software Practice & Experience en 1975. Fue utilizado en el libro Software Tools de 1976 por Kernighan y PJ Plauger .

En 1977, en la Universidad de Purdue , se desarrolló una versión mejorada del preprocesador Ratfor. Se denominó Mouse4, ya que era más pequeño y rápido que Ratfor. Un documento publicado por el Dr. Douglas Comer , profesor de Purdue, concluía que, «contrariamente a lo que afirmaba el diseñador de Ratfor, la búsqueda secuencial suele ser inadecuada para el software de producción. Además, en el caso del análisis léxico, las técnicas conocidas parecen ofrecer eficiencia, manteniendo la simplicidad, la facilidad de codificación y la modularidad de los métodos ad hoc» (CSD-TR236).

En comparación, el preprocesador Ratfor, al ejecutar un programa de 3000 líneas de código fuente en un sistema CDC 6500, tardó 185,470 segundos de CPU. Este tiempo se redujo en un 50 % al utilizar la búsqueda binaria en el código Ratfor. La reescritura del analizador léxico ad hoc mediante un método estándar basado en autómatas finitos redujo el tiempo de ejecución a 12,723 segundos.

Con la disponibilidad de Fortran 77 , un sucesor llamado Ratfiv (Ratfor=rat4 => rat5=Ratfiv) podría, con una opción /f77, generar un código Fortran 77 más legible:

SI ( A . G . B ) ENTONCES MÁX = A SINO MÁX = B FIN SI

El código fuente inicial de Ratfor se portó a C en 1985 [ 1 ] y se mejoró para producir también código Fortran 77. [ 2 ] Se estableció un árbol git en 2010 para revivir ratfor. [ 3 ] Aunque el compilador GNU C tenía la capacidad de compilar directamente un archivo Ratfor (.r) sin conservar un código Fortran intermedio inútil (.f) ( gcc foo.r), esta funcionalidad se perdió en la versión 4 durante el cambio en 2005 de f77 a GNU Fortran . [ 4 ]

El código fuente original estaba disponible en formatos .deb y .rpm en su sitio original, mirror.corbina.net/mandriva/, y su archivo, www.dgate.org/ratfor/, ya no existe desde abril de 2024. Los archivos tarball del código fuente todavía están disponibles en Internet Archive .

Ratfiv

Ratfiv es una versión mejorada del lenguaje de programación Ratfor , un preprocesador para Fortran diseñado para dotarlo de capacidades similares a las de C. Fortran se utilizaba ampliamente en la programación científica, pero tenía primitivas de control de flujo muy básicas ("do" y " goto ") y carecía de la función de " macro ", lo que limitaba su expresividad.

El nombre del idioma es un juego de palabras ( Ratfor (RATional FORtran) -> "Rat Four" -> "Rat Five" -> RatFiv ).

Ratfiv fue desarrollado por Bill Wood en el Instituto de Investigación del Cáncer de Filadelfia , Pensilvania, a principios de la década de 1980 y publicado en varias cintas del Grupo de Interés Especial (SIG) de DECUS (Grupo de Usuarios de Equipos Digitales). Se basa en el Ratfor original de B. Kernighan y PJ Plauger , con revisiones y mejoras de David Hanson y colaboradores (Universidad de Arizona), Joe Sventek y Debbie Scherrer ( Laboratorio Nacional Lawrence Berkeley ).

Ratfiv V2.1 se distribuyó en la cinta SIG del DECUS RSX82a. [ 5 ]

Véase también

Referencias

  1. "Implementación de Ratfor en C (1985)" . Archivado del original el 3 de marzo de 2016. Consultado el 9 de mayo de 2013 .
  2. "Ratfor77" .
  3. "Ratfor Git revivido" .
  4. "gcc perdió el preprocesador ratfor" .
  5. Archivo Ratfiv V2.1
  • Ratfor
  • Ratfor90
  • Historia de los lenguajes de programación: Ratfor
  • Resumen de Purdue
  • Ratfor90