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 CONTINUARLa 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 SIEl 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
Enlaces externos
- Ratfor
- Ratfor90
- Historia de los lenguajes de programación: Ratfor
- Resumen de Purdue
- Ratfor90
- Familia de lenguajes de programación Fortran
- Lenguajes de programación creados en 1976