Справочное руководство по языку Fortran 95

перевод Балуева А. Н.

Оглавление

Глава 1. Элементы Fortran

Множество символов

В начало страницы

Символы Fortran включают
  * буквы:
   A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
   a b c d e f g h i j k l m n o p q r s t u v w x y z
  * цифры:
   0 1 2 3 4 5 6 7 8 9
  * специальные символы:
   <пробел> = + - * / ( ) , . ' : ! " % & ; < > ? $
  * и знак подчеркивания `_'.

Специальные символы используются как операторы, как разделители или или ограничители, или для группировки.
  `?' ит `$' не имеют специального значения.
Буквы нижнего регистра эквивалентны соответствующим буквам верхнего регистра, за исключением позиций в литералах CHARACTER.
Знак подчеркивания может употребляться в именах, но не в первой позиции.

Имена

В начало страницы

Имена используются в Fortran для ссылок на различные сущности, такие как переменные или программные единицы. Имена начинаются с буквы или `$', могут иметь длину до 240 знаков и состоят только из букв, цифр, подчеркиваний и знаков `$'.

Элементы Fortran

Примеры правильных имен:
  aAaAa
  apples_and_oranges
  rose
Три примера имен в непосредственно предшествующей строке эквивалентны.
Следующие имена неправильные:
  _start_with_underscore
  2start_with_a_digit
  name_tooooooooooooooooooooooooooooooooo_long
  illegal_@_character

Метки операторов

В начало страницы

Операторы в Fortran могут иметь метки, состоящие из от одной до пяти цифр, из которых по крайней мере одна отлична от нуля. Ведущие нули не принимаются во внимание при различении меток. Следующие метки правильны:
    123
    5000
    10000
    1
    0001
Две последние метки эквивалентны. Одна и также метка не может придаваться более чем одному оператору в программной единице.

Исходная форма

В начало страницы

В Fortran существуют две исходных формы: фиксированная и свободная.

Фиксированная форма
Фиксированная исходная форма есть традиционная для Fortran форма, привязанная к колонкам перфокарты. Имеются ограничения на места расположения операторов и меток в строке перфокарты. Пробелы игнорируются везде кроме литералов CHARACTER.
Свободная исходная форма
Вне карт-комментариев:
  • Колонки от 1 до 5 зарезервированы для меток операторов. Метки могут содержать пробелы.
  • Колонка 6 служит только для указания строки продолжения. Если колонка 6 содержит пробел или 0, колонка 7 начинает новый оператор. Если колонка 6 содержит другой символ, колонки от 7 до 72 составляют продолжение предыдущей строки не-комментария. Может быть до 19 строк-продолжений. Строки продолжения не должны содержать метки.
  • Колонки от 7 до 72 используются для операторов Fortran.
  • Колонки после 72 игнорируются.
Строки-комментарии в фиксированной форме указываются символам `C' или `*' в колонке 1. Дополнительно комментарий может размещаться в конце строки, начиная с символа `!' в любой колонке после 6. `!' в составе литерала CHARACTER не указывает конечный комментарий. Строки комментария не должны продолжаться.Строка продолжения оператора может содержать конечный комментарий.
Оператор END не должен продолжаться. Символ `;' может использоваться для разделения операторов в строке. Но если этот символ появляется в составе литерала CHARACTER или в комментарии, он не рассматривается как разделитель операторов.
Свободная исходная форма

В свободной исходной форме нет ограничений на то, где оператор может появиться в строке. Строка может иметь длину до 132 символов. Пробелы используются для отделения имен, постоянных или меток от соседних имен, констант или меток. Пробелы также используются для отделения ключевых слов Fortran со следующими исключениями, в которых пробел не обязателен:

  • BLOCK DATA
  • DOUBLE PRECISION
  • ELSE IF
  • END BLOCK DATA
  • END DO
  • END FILE
  • END FUNCTION
  • END IF
  • END INTERFACE
  • END MODULE
  • END PROGRAM
  • END SELECT
  • END SUBROUTINE
  • END TYPE
  • END WHERE
  • GO TO
  • I N OUT
  • SELECT CASE

Символ `!' начинает комментарий, кроме случаев, когда он появляется в литерале CHARACTER. Комментарий тянется до конца строки.
Знак `;' может использоваться для разделения операторов в строке. Если он появляется в литерале CHARACTER или комментарии, символ `;' не интерпретируется как разделитель операторов.
Символ `&' как последний не комментарий в строке указывает, что строка должна продолжаться на следующую строку не комментарий. Если имя, константа, ключевое слово или метка переходит за конец строки, первый не пробел в следующей строке должен быть символ `&', за которым идут следующие знаки имени, константы, ключевого слова или метки. Если должен быть продолжен литерал CHARACTER, то за символом `&', оканчивающим строку, не может следовать конечный комментарий. В свободной форме оператор может иметь до 39 строк продолжения.
Строки комментария не могут продолжаться, но строка продолжения может содержать конечный комментарий. Строка не может содержать только символ `&' или содержать его как единственный символ перед комментарием.


<<< Оглавление Страницы:  2   3 >>>