ГОСТ 23057-78*
Группа П85
ГОСУДАРСТВЕННЫЙ СТАНДАРТ СОЮЗА ССР
Язык программирования
БАЗИСНЫЙ ФОРТРАН
Programming language. Basic 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). Внешние процедуры могут определяться и другими средствами, отличными от языка Базисный ФОРТРАН. Эти средства настоящим стандартом не определяются.
(Измененная редакция, Изм. N 1).
2.3.1. (Исключен, Изм. N 1).
2.4. Каждый программный модуль состоит из предложений и комментариев. В этом смысле головной модуль - это последовательность предложений и комментариев Базисного ФОРТРАНа, не содержащая заголовков функций и заголовков подпрограмм; модуль, не являющийся головным, начинается либо с заголовка функции, либо с заголовка подпрограммы.
2.5. Предложение делится на физические части, называемые строками, первая из которых называется начальной строкой, а остальные - строками-продолжениями. Каждый комментарий представляет собой строку, не являющуюся предложением или его частью.
2.5.1. Предложения Базисного ФОРТРАНа распадаются на два основных класса: выполняемые (или операторы) и невыполняемые (или объявления). Операторы определяют действия в программе, тогда как объявления (частными случаями которых являются заголовки функций и заголовки подпрограмм) описывают способ использования программы, характеристики операндов, способ редактирования данных, вводимые в употребление функции или размещение данных (пп.7.1, 7.2).
2.4, 2.5, 2.5.1. (Измененная редакция, Изм. N 1).
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.
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.1.4.1. Символ пробела. Символ пробела - это отсутствие какого-либо графического изображения в данной позиции. Кроме специально оговоренных случаев (пп.3.2.2-3.2.4, 7.2.3.6 и 7.2.3.8) символ пробела не является значащим и поэтому может свободно использоваться для улучшения наглядности программы в любом ее месте, с учетом ограничений на строки продолжения (п.3.3).
3.2. Строки. Строка - это последовательность, состоящая из 72 символов. Каждый символ должен принадлежать алфавиту Базисного ФОРТРАНа, за исключением случаев, описанных в пп.7.2.3.1 и 7.2.3.8.
Позиции символов в строке последовательно нумеруются слева направо от 1 до 72 включительно.
3.2.1. Комментарии. Буква в позиции 1 какой-либо строки указывает на то, что данная строка является комментарием. За комментарием должны непосредственно следовать либо другой комментарий, либо начальная строка, либо заключительная строка (п.3.2.2).
Комментарии не оказывают никакого влияния на выполнение программы, их можно использовать для пояснений.
3.2.2. Заключительная строка. Заключительной строкой называется такая строка, которая в позициях 1-6 содержит пробелы, а в позициях 7-72 пробелы и буквы , и . Эти буквы должны следовать в том порядке, в каком они приведены выше, каждая по одному разу, и могут размещаться в любых этих позициях; в остальных позициях должны содержаться пробелы. Заключительная строка указывает процессору конец текста программного модуля (п.9.1.3). Текст каждого программного модуля обязательно должен завершаться точно одной заключительной строкой.