F (lenguaje de programación)


F es un lenguaje de programación modular , compilado y numérico, diseñado para programación científica y computación científica. [1] F se desarrolló como un Fortran moderno , lo que lo convierte en un subconjunto de Fortran 95 . [2] Combina características numéricas y de abstracción de datos de estos lenguajes. F también es compatible con versiones anteriores de Fortran 77 , lo que permite llamadas a programas de Fortran 77 . F se incluyó por primera vez en el compilador g95 .

F está diseñado para ser un subconjunto mínimo de Fortran, con solo unos cien procedimientos intrínsecos. [3] Las palabras clave de lenguaje y los nombres de funciones intrínsecas son palabras clave reservadas en F y ningún otro nombre puede tomar esta forma exacta. F contiene el mismo conjunto de caracteres utilizado en Fortran 90/95 con un límite de 132 caracteres. Las palabras reservadas siempre se escriben en minúsculas. Cualquier letra mayúscula puede aparecer en una constante de carácter. Los nombres de variables no tienen restricción y pueden incluir caracteres en mayúsculas y minúsculas.

El operador de asignación se denota con el signo igual =. Además, la asignación de punteros se indica mediante =>. Los comentarios se indican con el !símbolo:

Similar a Fortran , la especificación de tipo se compone de un tipo, una lista de atributos para las variables declaradas y la lista de variables. [2] F también proporciona los mismos tipos que Fortran, con la única excepción de los dobles :

F no tiene soporte intrínseco para la programación orientada a objetos , pero permite registros : [2]

Las declaraciones de variables van seguidas de una lista de atributos. Los atributos permitidos son parameter, public, private, allocatable, dimension, intent, optional, pointery . La lista de atributos va seguida de , que forma parte de la sintaxis. F también permite la inicialización opcional en la lista de objetos. Todos los elementos de una lista tendrán los mismos atributos en una declaración de declaración de tipo dada. Además, las declaraciones están orientadas a atributos en lugar de a entidades.savetarget::