F (язык программирования)
Парадигма | Массив , процедурный , модульный |
---|---|
Разработчик | Компания Фортран |
Дисциплина набора текста | статический , манифест |
Под влиянием | |
Фортран 95 |
F — модульный компилируемый язык числового программирования, предназначенный для научного программирования и научных вычислений. [1] F был разработан как современный язык Фортрана , что делает его подмножеством Фортрана 95 . [2] Он сочетает в себе функции числовой абстракции и абстракции данных этих языков. F также обратно совместим с Fortran 77 , что позволяет вызывать программы на Fortran 77 . F был реализован поверх компиляторов NAG, Fujitsu, Salford Software и Absoft. Позже он был включен в компилятор g95 .
Обзор
[ редактировать ]F задуман как минимальное подмножество Фортрана, содержащее всего около сотни внутренних процедур. [3] Ключевые слова языка и имена встроенных функций являются зарезервированными ключевыми словами в F, и никакие другие имена не могут иметь такую точную форму. F содержит тот же набор символов, что и в Фортране 90/95 , с ограничением в 132 символа. Зарезервированные слова всегда пишутся строчными буквами. В символьной константе может присутствовать любая заглавная буква. Имена переменных не имеют ограничений и могут включать символы верхнего и нижнего регистра.
Операторы
[ редактировать ]F поддерживает многие стандартные операторы, используемые в Фортране. Операторы, поддерживаемые F:
- Арифметические операторы:
+
,-
,*
,/
,**
- Реляционные операторы:
<
,<=
,==
,/=
,>
,>=
- Логические операторы:
.not.
,.and.
,.or.
,.eqv.
,.neqv.
- объединение символов:
//
Оператор присваивания обозначается знаком равенства =
. Кроме того, назначение указателя обозначается =>
. Комментарии обозначаются значком !
символ:
variable = expression ! assignment
pointer => target ! pointer assignment
Типы данных
[ редактировать ]Подобно Фортрану , спецификация типа состоит из типа, списка атрибутов объявленных переменных и списка переменных. [2] F предоставляет те же типы, что и Fortran, за исключением того, что переменные с плавающей запятой двойной точности должны быть объявлены как вещественные с типом с параметром kind:
! type [,attribute list] :: entity declaration list
real :: x, y ! declaring variables of type real x,y without an attribute list
integer (kind = long), dimension (100) :: x ! declaring variable of type big integer array with the identifier x
character (len = 100) :: student_name ! declaring a character type variable with len 100
F не имеет встроенной поддержки объектно-ориентированного программирования , но допускает записи : [2]
type, public :: City
character (len = 100) :: name
character (len = 50) :: state
end type City
За объявлениями переменных следует список атрибутов. Разрешенные атрибуты: parameter
, public
, private
, allocatable
, dimension
, intent
, optional
, pointer
, save
и target
. За списком атрибутов следует ::
, который является частью синтаксиса. F также допускает необязательную инициализацию в списке объектов. Все элементы в списке будут иметь одинаковые атрибуты в данном операторе объявления типа. Кроме того, объявления ориентированы на атрибуты, а не на сущности.
Поток операторов и управления
[ редактировать ]F поддерживает 3 оператора потока управления : if
, базовое условие , case
, оператор переключения и do
, условный цикл while . return
, stop
, cycle
, и exit
операторы Фортрана могут использоваться для нарушения потока управления.
real :: x
do i = 100
x = x+i
print*,i
cycle
end do
max : do
if (x > y) then
exit max
end if
x = y
end do max
stop
if (x < y) then
x = x + y
else if ( x > y) then
x = y - x
end if
select case (maximum):
case (0)
x = 0
case (1)
x = 1
case (5)
x = 5
case default
x = 10
end select
F уделяет большое внимание модульному программированию .
program main
! Insert code here
end program main
Размещение процедур вне модуля запрещено. F поддерживает большинство функций и подпрограмм стандартной библиотеки Fortran 95. Все функции в F по умолчанию являются внешними и требуют предложения результата, которое возвращает значение функции. [2] F поддерживает рекурсию .
Все внутренние процедуры Фортрана 95 могут использоваться в F, за исключением achar
, iachar
, lge
, lgt
, lle
, llt
, transfer
, dble
, dim
, dprod
, и mod
.
Ссылки
[ редактировать ]- ^ Компания Фортран. «Все о Ф» . Архивировано из оригинала 20 апреля 2019 г. Проверено 28 апреля 2014 г.
- ^ Jump up to: а б с д Адамс, Жанна . «Язык F» . Архивировано из оригинала 24 апреля 2014 г. Проверено 28 апреля 2014 г.
- ^ Уолт Брейнерд; Дэвид Эпштейн; Ричард Хендриксон. «Язык программирования F на вкус напоминает Java» . Архивировано из оригинала 10 декабря 2016 г. Проверено 29 апреля 2014 г.
Библиография
[ редактировать ]- Уолтер С. Брейнерд, Чарльз Х. Голдберг и Джин К. Адамс: «Руководство программиста по F», Unicomp, 1996.
- Герке, Вильгельм (30 мая 1997 г.). Руководство по языку F. Спрингер. ISBN 978-3-540-76165-5 .
- Робин А. Гласные: «Алгоритмы и структуры данных в F и Фортране», Unicomp.
- Лорен Мейснер: «Основной Фортран 90 и 95», Unicomp, 1997.
Внешние ссылки
[ редактировать ]- Домашняя страница языка программирования F. Архивировано 9 января 2015 г. на Wayback Machine.
- Компилятор g95. Архивировано 5 июня 2013 г. на Wayback Machine.