ГОСТ 23056-78*
Группа П85
ГОСУДАРСТВЕННЫЙ СТАНДАРТ СОЮЗА ССР
Язык программирования
ФОРТРАН
Programming language. FORTRAN
Дата введения 1979-01-01
Постановлением Государственного комитета стандартов Совета Министров СССР от 7 апреля 1978 г. N 962 срок введения установлен с 01.01.79
* ПЕРЕИЗДАНИЕ (декабрь 1991 г.) с Изменением N 1, утвержденным в июне 1980 г. (ИУС 9-80).
Настоящий стандарт распространяется на язык программирования ФОРТРАН и устанавливает:
форму представления и правила интерпретации (синтаксис и семантику) программы, записанной на языке ФОРТРАН;
форму представления входных данных, отрабатываемых программой при ее выполнении в автоматизированной системе обработки данных;
форму представления выходных данных, получаемых в результате выполнения программы.
Стандарт не устанавливает:
механизм, которым программа трансформируется для ее выполнения в системе обработки данных (комбинация этого механизма и системы обработки данных называется процессором);
метод передачи программы и ее входных или выходных данных в систему обработки данных и обратно;
действия, необходимые для запуска и управления программой в системе обработки данных;
результаты выполнения программы, если стандарт не устанавливает правил ее интерпретации;
размер и сложность программы;
диапазон или точность представления числовых значений;
состав и форму документации на трансляторы с языка ФОРТРАН и программы, записанные на языке ФОРТРАН.
Стандарт полностью соответствует международной рекомендации ИСО/Р 1539-72.
(Измененная редакция, Изм. N 1).
1.1. Стандарт предназначен для достижения высокой степени мобильности и машинной независимости программ, записанных на языке ФОРТРАН, позволяющей использовать их в различных автоматизированных системах обработки данных.
1.2. Процессор, выполняющий программы, записанные на языке ФОРТРАН, считается согласованным с настоящим стандартом, если он воспринимает и интерпретирует в соответствии с настоящим описанием по крайней мере те формы и соотношения, которые описаны в настоящем стандарте.
1.3. Любое ограничение или запрет, сформулированные в настоящем стандарте, обозначает следующее: если в какой-либо программе это ограничение не выполнено или запрет нарушен, то такая программа считается несогласованной с настоящим стандартом.
Разд.1. (Измененная редакция, Изм. N 1).
2.1. Настоящий раздел определяет общую структуру программ, записанных на языке ФОРТРАН. В разделе содержатся также определенные разъяснения, касающиеся смысла некоторых фраз и отдельных слов.
2.2. Программа, которая представляет собой описание некоторой вполне законченной вычислительной процедуры и может быть выполнена соответствующим процессором, называется выполнимой программой (п.9.1.7). Таким образом, выполнимая программа содержит исчерпывающую информацию о форме записи исходных данных и алгоритмах их переработки с целью получения искомых результатов, о вводимых в употребление внутренних объектах и о форме представления окончательных результатов.
2.2.1. Выполнимая программа состоит из одного или нескольких программных модулей (п.9.1.3), один (и только один) из которых является головным модулем (п.9.1.4).
2.2.2. Выполнение программы начинается с выполнения ее головного модуля. Однако в любом программном модуле (в том числе и в головном), за исключением модуля-блока данных, могут использоваться внешние процедуры (разд.9), описывающие вне данного модуля отдельные процедуры процесса обработки данных. Для определения внешних процедур средствами ФОРТРАНа служат модули-процедуры (разд.8).
2.3. Внешняя процедура может быть внешней функцией или внешней подпрограммой (разд.8 и 9). Внешние процедуры могут определяться и другими средствами, отличными от языка ФОРТРАН. Эти средства настоящим стандартом не определяются.
Как отмечалось выше, в выполняемой программе должна содержаться исчерпывающая информация о вводимых в употребление внутренних объектах. В ФОРТРАНе такими объектами являются, в частности, общие блоки данных (п.7.2.1.3). Для придания начальных значений элементам блоков данных служат модули-спецификации (пп.8.5, 9.1.5). Каждый такой модуль начинается с заголовка спецификации блока данных. В модулях-спецификациях не должны использоваться внешние процедуры.
(Измененная редакция, Изм. N 1).
2.3.1. (Исключен, Изм. N 1).
2.4. Каждый программный модуль состоит из предложений и комментариев. В этом смысле головной модуль - это последовательность предложений и комментариев ФОРТРАНа, не содержащая заголовка функций, заголовков подпрограмм и заголовков спецификаций блоков данных; модуль, не являющийся головным, начинается либо с заголовка функции, либо с заголовка подпрограммы, либо с заголовка спецификации блока данных.
2.5. Предложение делится на физические части, называемые строками, первая из которых называется начальной строкой, а остальные - строками-продолжениями. Каждый комментарий представляет собой строку, не являющуюся предложением или его частью (п.3.2).
2.4, 2.5. (Измененная редакция, Изм. N 1).
2.5.1. Предложения ФОРТРАНа распадаются на два основных класса: выполняемые (или операторы) и невыполняемые (или объявления). Операторы определяют действия в программе, тогда как объявления (частными случаями которых являются заголовки функций, заголовки подпрограмм и заголовки спецификаций блока данных) описывают способ использования программы, характеристики операндов, способ редактирования данных, вводимые в употребление функции или размещение данных (пп.7.1, 7.2).
2.6. Синтаксическими элементами предложения являются имена и операции. Имена используются для ссылок на объекты, например, на данные или процедуры. Операции определяют действия над именованными объектами.
2.6.1. Один частный случай имен, имя массива, заслуживает особого рассмотрения. С именем массива должен быть связан размер идентифицируемого массива, определяемый в описании массива (п.7.2.1.1). Имя массива, дополненное индексом, используется для идентификации конкретного элемента массива (п.5.1.3).
2.7. Имена данных, арифметические и логические операции, а также операции отношения могут быть связаны в выражения. Выражение служит для задания правил вычисления значения: это значение получается в результате выполнения указанных в выражении операций над именованными данными.
2.8. Для идентификации в ФОРТРАНе используются имена и целые числа без знака (п.5.1.1). Данные и процедуры именуются. Предложения помечаются целыми числами без знака. Устройства ввода/вывода нумеруются (разд.3, 6, 7).
2.9. В настоящем стандарте встречаются условные обозначения предложений ФОРТРАНа, содержащие список элементов; во всех таких случаях предполагается, что список содержит по крайней мере один элемент, если не оговорено противное. Например, запись
обозначает заголовок подпрограммы, причем предполагается, что в список, заключенный в круглые скобки, входит по крайней мере одно символическое имя . Таким образом, список элементов есть либо один элемент, либо последовательность элементов, отделенных друг от друга запятой.
Далее предполагается, что множественное число существительного в любой фазе означает в качестве частного случая также и единственное число этого существительного, если только контекст фразы не запрещает такую интерпретацию.
Термин "ссылка" используется со специальным смыслом, определенным в разд.5.
Вводная часть (Исключена, Изм. N 1).
3.1. Алфавит ФОРТРАНа. При записи программного модуля используются только символы, входящие в алфавит ФОРТРАНа. Этот алфавит делится на три группы символов: цифры, буквы и специальные символы. Множество символов, образующих алфавит ФОРТРАНа, считается неупорядоченным.
3.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).
3.1.2. Буквы. Буква - это одна из двадцати шести символов:
, , , , , , , , , , , , , , ,
, , , ,
, , , , , ,
.
3.1.3. Буквенно-цифровые символы. Буквенно-цифровой символ - это либо буква, либо цифра.
3.1.4. Специальные символы. Специальный символ - это один из одиннадцати символов:
Символ | Название символа | |||
| Пробел | |||
= | Равно | |||
+ | Плюс | |||
- | Минус | |||
* | Звездочка | |||
/ | Дробная черта | |||
( | Круглая скобка левая (левая скобка) | |||
) | Круглая скобка правая (правая скобка) | |||
, | Запятая | |||
. | Точка | |||
Знак денежной единицы |
3.4.1*. Символ пробела. Символ пробела - это отсутствие какого-либо графического изображения в данной позиции. Кроме специально оговоренных случаев (пп.3.2.2-3.2.4, 4.2.6, 5.1.1.6, 7.2.3.6 и 7.2.3.8), символ пробела не является значащим и поэтому может свободно использоваться для улучшения наглядности программы в любом ее месте с учетом ограничений на строки продолжения (п.3.3).
________________
* Нумерация соответствует оригиналу. - Примечание изготовителя базы данных.
3.2. Строки. Строка - это последовательность, состоящая из 72 символов. Каждый символ должен принадлежать алфавиту ФОРТРАНа, за исключением случаев, описанных в пп.4.2.6, 5.1.1.6, 7.2.3.1 и 7.2.3.8.