УДК 681.3.065.4:006.354 Группа П85


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

Я

ГОСТ
23057—78*

зык программирования
БАЗИСНЫЙ ФОРТРАН
Programming language Basic FORTRAN

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

с 01.01 1979 г.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. ОБЩИЕ ПОЛОЖЕНИЯ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SUBROUTINE s(a|( а2,...,а„)

обозначает заголовок подпрограммы, причем предполагается, что в список, заключенный в круглые скобки, входит по крайней мере одно символическое имя Э| Таким образом, список элемен­тов есть либо один элемент, либо последовательность элементов, отделенных друг от друга запятой.

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

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

  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.

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

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

Символ Название символа

Пробел

= Равно //

+ Плюс

— Минус

* Звездочка

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

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

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

, Запятая

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

  1. Строки. Строка — это последовательность, состоящая из 72 символов. Каждый символ должен принадлежать алфавиту Базис­ного ФОРТРАНа, за исключением случаев, описанных в пп. 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. Предложения. Предложение состоит из одной начальной строки, за которой может следовать до пяти строк-продолжений. Символы, образующие предложение, записываются в позициях 7— 72 каждой из строк и считаются упорядоченными: сначала идут символы, записанные в начальной строке, затем — символы, записанные в первой строке-продолжении (если она имеется), за­тем — символы, записанные во второй строке-продолжении (если она имеется) и т. д. В каждой строке символы считаются упоря­доченными по возрастанию номеров позиций, в которых они запи­саны (учитываются только символы, расположенные в колонках 7—72).

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

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

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

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

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

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

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

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