ГОСУДАРСТВЕННЫЕ СТАНДАРТЫ
СОЮЗА ССР

ЯЗЫКИ ПРОГРАММИРОВАНИЯ

ФОРТРАН
И БАЗИСНЫЙ фортран

ГОСТ 23056—78, ГОСТ 23057—78


Издание официальное



ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР ПО СТАНДАРТАМ
Москв

аГОСУДАРСТВЕННЫЕ СТАНДАРТЫ
СОЮЗА ССР

ЯЗЫКИ ПРОГРАММИРОВАНИЯ

ФОРТРАН

И БАЗИСНЫЙ ФОРТРАН

ГОСТ 23056—78, ГОСТ 23057—78

Издание официальное

МОСКВА—1982ГОСУДАРСТВЕННЫЙ СТАНДАРТ СОЮЗА ССР

Я

ГОСТ
23056—78

зык программирования

ФОРТРАН

Programming language FORTRAN

Постановлением Государственного комитета стандартов Совета Министров СССР от 7 апреля 1978 г. № 962 срок введения установлен

с 01.01 1979 г.

Настоящий стандарт распространяется на язык программиро­вания ФОРТРАН и устанавливает:

форму представления и правила интерпретации (синтаксис и семантику) программы, записанной на языке ФОРТРАН;

форму представления входных данных, обрабатываемых прог­раммой при ее выполнении в автоматизированной системе обра­ботки данных;

форму представления выходных данных, получаемых в резуль­тате выполнения программы.

Стандарт не устанавливает:

механизм, которым программа трансформируется для ее выпол­нения в системе обработки данных (комбинация этого механизма и системы обработки данных называется процессором);

метод передачи программы и ее входных или выходных данных в систему обработки данных и обратно;

действия, необходимые для запуска и управления программой в системе обработки данных;

результаты выполнения программы, если стандарт не устанав­ливает правил ее интерпретации;

размер и сложность программы;

диапазон или точность представления числовых значений;

состав и форму документации на трансляторы с языка ФОРТРАН и программы, записанные на языке ФОРТРАН.

Стандарт полностью соответствует международной рекомендации ИСО/Р 1539—72.

(Измененная редакция, Изм. № 1).

Издание официальное Перепечатка воспрещена

* Переиздание (июнь 1982 г.) с Изменением № 1,
утвержденным в июне 1980 г. (ИУС 9—80).

  1. @ Издательство стандартов, 1982ОБЩИЕ ПОЛОЖЕНИЯ

    1. Стандарт предназначен для достижения высокой степени мобильности и машинной независимости программ, записанных на языке ФОРТРАН, позволяющей использовать их в различных ав­томатизированных системах обработки данных.

    2. Процессор, выполняющий программы, записанные на языке ФОРТРАН, считается согласованным с настоящим стандартом, если он воспринимает и интерпретирует в соответствии с настоя­щим описанием по крайней мере те формы и соотношения, которые описаны в настоящем стандарте.

    3. Любое ограничение или запрет, сформулированные в настоя­щем стандарте, означает следующее: если в какой-либо программе это ограничение не выполнено или запрет нарушен, то такая прог­рамма считается несогласованной с настоящим стандартом.

Разд. 1 (Измененная редакция, Изм. № 1).

  1. СТРУКТУРА ЯЗЫКА

    1. Настоящий раздел определяет общую структуру программ, записанных на языке ФОРТРАН. В разделе содержатся также определенные разъяснения, касающиеся смысла некоторых фраз и отдельных слов.

    2. Программа, которая представляет собой описание неко­торой вполне законченной вычислительной процедуры и может быть выполнена соответствующим процессором, называется вы­полнимой программой (п. 9.1.7). Таким образом, выполнимая программа содержит исчерпывающую информацию о форме за­писи исходных данных и алгоритмах их переработки с целью получения искомых результатов, о вводимых в употребление внутренних объектах и о форме представления окончательных результатов.

      1. Выполнимая программа состоит из одного или несколь­ких программных модулей (п. 9.1.3), один (и только один) из которых является головным модулем (п. 9.1.4).

      2. Выполнение программы начинается с выполнения ее го­ловного модуля. Однако в любом программном модуле (в том числе и в головном), за исключением модуля-блока данных, могут использоваться внешние процедуры (разд. 9), описывающие вне данного модуля отдельные процедуры процесса обработки данных. Для определения внешних процедур средствами ФОРТРАНа слу­жат модули-процедуры (разд. 8).

    3. Внешняя процедура может быть внешней функцией или внешней подпрограммой (разд. 8 и 9). Внешние процедуры могут определяться и другими средствами, отличными от языка ФОРТ­РАН. Эти средства настоящим стандартом не определяются.

Как отмечалось выше, в выполняемой программе должна со­держаться исчерпывающая информация о вводимых в употребление внутренних объектах. В ФОРТРАНе такими объектами являются в частности, общие блоки данных (и. 7.2.1.3). Для придания началь­ных значений элементам блоков данных служат модули-специфика­ции (пн. 8.5, 9.1.5). Каждый такой модуль начинается с заголовка спецификации блока данных. В модулях-спецификациях не должны использоваться внешние процедуры.

(Измененная редакция, Изм. № 1).

    1. (Исключен, Изм. № 1).

  1. Каждый программный модуль состоит из предложений и комментариев. В этом смысле головной модуль — это последова­тельность предложений и комментариев ФОРТРАНа, не содержа­щая заголовков функций, заголовков подпрограмм и заголовков спецификаций блоков данных; модуль, не являющийся головным, начинается либо с заголовка функции, либо с заголовка подпро­граммы, либо с заголовка спецификации блока данных.

  2. Предложение делится на физические части, называемые строками, первая из которых называется начальной строкой, а остальные — строками-продолжениями. Каждый комментарий пред­ставляет собой строку, не являющуюся предложением или его частью (п. 3.2).

  3. 25 (Измененная редакция, Изм. № 1).

  1. Предложения ФОРТРАНа распадаются на два основных класса: выполняемые (или операторы) и невыполняемые (или объявления). Операторы определяют действия в программе, тог­да .как объявления (частными случаями которых являются заго­ловки функций, заголовки подпрограмм и заголовки специфика­ций блока данных) описывают способ использования программы, характеристики операндов, способ редактирования данных, вводи­мые в употребление функции или размещение данных (пп. 7.1, 7.2).

  1. Синтаксическими элементами предложения являются имена и операции. Имена используются для ссылок на объекты, например, на данные или процедуры. Операции определяют действия над име­нованными объектами.

    1. Один частный случай имен, имя массива, заслуживает особого рассмотрения. С именем массива должен быть связан раз­мер идентифицируемого массива, определяемый в описании мас­сива (п. 7.2.1.1). Имя массива, дополненное индексом, использу­ется для идентификации конкретного элемента массива (п. 5.1.3).

  2. Имена данных, арифметические и логические операции, а также операции отношения могут быть связаны в выражения. Выражение служит для задания правил вычисления значения: это значение получается в результате выполнения указанных в выражении операций над именованными данными.

  3. Для идентификации в ФОРТРАНе используются имена и целые числа без знака (п. 5.1.1). Данные и процедуры име­нуются. Предложения помечаются целыми числами без знака. Устройства ввода/вывода нумеруются (разд. 3, 6, 7).

  4. В настоящем стандарте встречаются условные обозначе­ния предложений ФОРТРАНа, содержащие список элементов; во всех таких случаях предполагается, что список содержит по край­ней мере один элемент, если не оговорено противное. Например, запись

SUBROUTINE s(al; а2,...., а„) обозначает заголовок подпрограммы, причем предполагается, что в список, заключенный в круглые скобки, входит по крайней мере одно символическое имя а? Таким образом, список элементов есть либо один элемент, либо последовательность элементов, отделенных друг от друга запятой.

Далее предполагается, что множественное число существитель­ного в любой фразе означает в качестве частного случая также и единственное число этого существительного, если только кон­текст фразы не запрещает такую интерпретацию.

Термин «ссылка» используется со специальным смыслом, оп­ределенным в разд. 5.

  1. ПРАВИЛА ЗАПИСИ ПРОГРАММЫ

Вводная часть (Исключена, Изм. № 1).

  1. Алфавит ФОРТРАНа. При записи программного модуля используются только символы, входящие в алфавит ФОРТРАНа. Этот алфавит делится на три группы символов: цифры, буквы и спе­циальные символы. Множество символов, образующих алфавит ФОРТРАНа, считается неупорядоченным.

    1. Цифры. Цифра — это один из десяти символов:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

Если не оговорено противное и уместно считать последова­тельность цифр числом, то оно будет интерпретироваться как чи­сло в десятичной системе счисления.

Восьмеричная цифра — это один из восьми символов:

0, 1, 2, 3, 4, 5, 6, 7.

Восьмеричные цифры используются только в операторах ос­танова (п. 7.1.2.7.1) и паузы (п. 7.1.2.7.2).

  1. Буквы. Буква — это одна из двадцати шести символов: А, В, С, D, Е, F, G, Н, I, J, К, L, М, N, О, Р, Q, R, S, Т, U, V, W, X, Y, Z.

  2. Буквенно-цифровые символы. Буквенно-цифровой сим­вол — это либо буква, либо цифра.

  3. Специальные символы. Специальный символ — это один из одиннадцати символов:

Символ

Название символа Пробел

+

Равно Плюс

*

/ ( )

Минус

Звездочка

Дробная черта

Круглая скобка левая (левая скобка)

Круглая скобка правая (правая скобка)

Запятая

Точка

п

Знак денежной единицы



    1. Символ пробела. Символ пробела — это отсутствие ка­кого-либо графического изображения в данной позиции. Кроме специально оговоренных случаев (пп. 3.2.2—3.2.4, 4.2.6, 5.1.1.6, 7.2.3.6 и 7.2.3.8), символ пробела не является значащим и поэто­му может свободно использоваться для улучшения наглядности программы в любом ее месте с учетом ограничений на строки продолжения (п. 3.3).

  1. Строки. Строка — это последовательность, состоящая из 72 символов. Каждый символ должен принадлежать алфавиту ФОРТРАНа, за исключением случаев, описанных в пп. 4.2.6, 5.1.1.6, 7.2.3.1 и 7.2.3.8.

Позиции символов в строке последовательно нумеруются слева направо от 1 до 72 включительно.

  1. Комментарий. Буква С в позиции 1 какой-либо строки указывает на то, что данная строка является комментарием. За комментарием должны непосредственно следовать либо другой комментарий, либо начальная строка, либо заключительная строка (п. 3.2.2).

Комментарии не оказывают никакого влияния на выполнение программы, их можно использовать для пояснений.

  1. Заключительная строка. Заключительной строкой назы­вается такая строка, которая в позициях 1—6 содержит пробелы, а в позициях 7—72 — пробелы и буквы Е, N и D. Эти буквы должны следовать в том порядке, в каком они приведены выше, каждая по одному разу, и могут размещаться в любых этих позициях; в осталь­ных позициях должны содержаться пробелы. Заключительная стро­ка указывает процессору конец текста программного модуля (п. 9.1.3). Текст каждого программного модуля обязательно должен завершаться точно одной заключительной строкой.

  2. Начальная строка. Начальной строкой называется такая строка, которая не является ни комментарием, ни заключительной строкой и содержит пробел или цифру 0 в позиции 6. В позициях 1—5 содержится либо метка предложения, либо пробелы.

  3. Строка-продолжение. Строкой-продолжением называется такая строка, которая не является комментарием и в позиции 6 содержит символ, отличный от пробела и цифры 0.

Строка-продолжение может непосредственно следовать толь­ко за начальной строкой или за другой строкой-продолжением.

    1. Предложения. Предложение состоит из одной начальной строки, за которой может следовать до 19 строк-продолжений. Символы, образующие предложение, записываются в позициях 7— 72 каждой из строк и считаются упорядоченными: сначала идут символе:, записанные в начальной строке, затем — символы, записан­ные в первой строке-продолжении (если она имеется), затем — символы, записанные во второй строке-продолжении (если она имеется) и т. д. В каждой строке символы считаются упорядочен­ными по возрастанию номеров позиций, в которых они записаны (учитываются только символы, расположенные в позициях 7—72).

    2. Метка предложения. Любсе предложение может быть по­мечено, чтобы на него можно было ссылаться в других предложе­ниях. Метка предложения состоит из последовательности от од­ной до пяти цифр. Величина целого без знака, представленного этой последовательностью 'цифр, не играет роли, но она должна быть больше нуля. Метка предложения должна быть помещена в позициях 1—5 начальной строки этого предложения и может начинаться с любой из этих позиций. В одном программном мо­дуле одной и той же меткой не должно быть помечено более одного предложения. При отождествлении меток ведущие нули не учитываются.

    3. Символические имена. Символическое имя состоит из бук­вы, за которой может следовать еще до пяти буквенно-цифровых символов (см. пп. 10.1 —10.1.10 относительно классификации симво­лических имен и ограничений на их использование).

    4. Упорядоченность символов. Символы, образующие програм­мный модуль, считаются упорядоченными. В частности, любой осмысленный набор символов, образующий имена, строки и предло­жения, является упорядоченным. Эта упорядоченность определя­ется упорядоченностью символов в строке (п. 3.2) и порядком следования строк в программном модуле.

    5. 3.1.1—3.1.4, 3.1.4.1, 3.2, 3.2.1—3.2.4, 3.3—3.6 (Измененная ре­дакция, Изм. № 1).

  1. ТИПЫ ДАННЫХ