Cловарь терминов языка Фортран 95
А.М. Горелик, gorelik@keldysh.ruПриводится список и даются краткие пояснения (переведенные на русский язык) основных терминов, используемых в официальном описании Международного стандарта языка, неформально называемого "Фортран 95". Предлагаемый словарь и пояснения основаны на приложении A этого описания; имеются лишь небольшие уточнения и добавления (в пояснениях).
Если толкование использует термин, который тоже определяется в данном словаре, первое вхождение термина в это толкование сопровождается перекрестной ссылкой.
Аналогичный словарь для предыдущего стандарта - Фортран 90 (на английском языке) - можно найти здесь, а на русском языке - в книге "Фортран 90. Международный стандарт".
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
ACTION STATEMENT (оператор действия): отдельный оператор (statement), специфицирующий вычислительное действие или управление действием.
ACTUAL ARGUMENT (фактический аргумент): выражение (expression), переменная (variable), процедура (procedure) или спецификатор альтернативного возврата, указанный в ссылке (reference) на процедуру.
ALLOCATABLE ARRAY (динамически размещаемый массив): именованный (named) массив (array), имеющий атрибут (attribute) ALLOCATABLE. Его конфигурация (shape) определяется, и на него можно ссылаться (reference), или он может быть определен (defined) только тогда, когда ему отведена память.
ARGUMENT (аргумент): фактический аргумент (actual argument) или формальный аргумент (dummy argument).
ARGUMENT ASSOCIATION (связь аргументов, связывание аргументов): отношение между фактическим аргументом (actual argument) и формальным аргументом (dummy argument) во время выполнения ссылки (reference) на процедуру (procedure).
ARGUMENT KEYWORD (ключевое слово аргумента): имя (name) формального аргумента (dummy argument), которое может использоваться в ссылке (reference) на процедуру (procedure) перед знаком равенства при условии, что процедура имеет явный интерфейс (explicit interface).
ARRAY (массив): множество скалярных данных (data) одного типа (type) и с одинаковыми параметрами типа (type parameter), отдельные элементы которого выстроены по прямоугольной схеме. Это может быть именованный (named) массив, секция массива (array section), компонент структуры (structure component), значение функции (function) или выражение (expression). Pазмерность (rank) его, как минимум, единица. Заметим, что в языке ФОРТРАН 77 массивы были всегда именованными и никогда не являлись константами.
ARRAY ELEMENT (элемент массива): одно из скалярных (scalar) данных (data), образующих массив (array) - либо именованный (named), либо компонент структуры (structure component).
ARRAY POINTER (указатель на массив, указатель-массив): указатель (pointer) на массив (array).
ARRAY SECTION (секция массива): подобъект (subobject), который является массивом (array), но не является компонентом структуры (structure component).
ARRAY-VALUED (имеющий значение-массив): обладающий свойствами массива (array).
ASSIGNMENT STATEMENT (оператор присваивания): оператор (statement) вида: "переменная = выражение" (variable = expression).
ASSOCIATION (связь, связывание): связь по имени (name association), связь по указателю (pointer association) или связь по памяти (storage association).
ASSUMED-SHAPE ARRAY (массив, перенимающий конфигурацию): формальный аргумент-массив (dummy array), который не является указателем, конфигурация (shape) которого определяется связанным с ним фактическим аргументом.
ASSUMED-SIZE ARRAY (массив, перенимающий размер): формальный массив (dummy array), размер (size) которого определяется размером связанного с ним фактического аргумента (actual argument). Последняя верхняя граница такого формального массива специфицируется звездочкой.
ATTRIBUTE (атрибут): свойство объекта данных (data object), которое может быть специфицировано в операторе объявления типа (type declaration statement) или в операторе спецификации атрибута.
AUTOMATIC DATA OBJECT (автоматически размещаемый объект данных): объект данных (data object), который, будучи локальным объектом (local entity) в процедуре Фортрана (subprogram), не является формальным аргументом (dummy argument) и имеет неконстантную длину (для символьных) или неконстантную границу массива.
BELONG (принадлежать): если оператор (statement) EXIT или CYCLE содержит имя (name) конструкции (construct), оператор принадлежит конструкции DO, использующей это имя. B противном случае он принадлежит самой внутренней из конструкций DO, в которой находится этот оператор.
BLOCK (блок): последовательность выполняемых конструкций (executable construct), расположенная внутри другой выполняемой конструкции, ограниченная операторами (statement), характерными для данной конструкции, и трактуемая как единое целое.
BLOCK DATA PROGRAM UNIT (программная единица-блок данных): программная единица (program unit), обеспечивающая начальные значения для объектов данных (data object) из именованных (named) общих блоков (common block).
BOUNDS (границы): для именованного (named) массива (array) - границы, внутри которых должны находиться значения индексов (subscript) элементов массива (array element).
CHARACTER (символ): буква, цифра или другой символ.
CHARACTERISTICS (характеристики):
- для процедуры (procedure) - ее классификация как функция (function) или подпрограмма (subroutine), является ли процедура рекурсивной, поэлементной, без побочного эффекта, характеристики ее формальных аргументов (dummy argument) и, если это функция, характеристики ее результата (function result);
- для формального аргумента (dummy argument) - является ли он объектом данных (data object), процедурой (procedure) и имеет ли атрибут (attribute) OPTIONAL;
- для формального аргумента-объекта данных (data object) - его тип (type), параметры типа (type parameter), конфигурация (shape), точная зависимость границ массива или длины (для символьных) от других объектов, назначение (intent), является ли он необязательным, является ли он указателем (pointer) или адресатом (target), являются ли он массивом, перенимающим конфигурацию (assumed-shape array), размер (assumed-size array) или объектом (для символьного типа), перенимающим длину (length of a character string);
- для формальной процедуры (dummy procedure) - явный ли у нее интерфейс, характеристики процедуры, если интерфейс явный, и является ли процедура необязательным аргументом;
- для результата функции (function result) - его тип, параметры типа, является ли он указателем, размерность - если указатель, конфигурация - если не указатель, точная зависимость границы массива или длины (для символьных) от других объектов.
CHARACTER LENGTH PARAMETER (параметр длины): параметр типа (type parameter), который специфицирует число символов для объекта символьного типа.
CHARACTER STRING (символьная строка): последовательность символов (character), пронумерованная слева направо 1, 2, 3,...
CHARACTER STORAGE UNIT (символьная единица памяти): единица памяти для хранения скаляра стандартного символьного типа (type), не являющегося указателем (pointer), имеющего длину равную единице.
COLLATING SEQUENCE (упорядочивающая последовательность): упорядочение всех отличных друг от друга символов (character) для определенного параметра разновидности типа (kind type parameter).
COMMON BLOCK (общий блок): блок физической памяти, к которому может быть доступ из любой контекстной области (scoping unit) в программе (program).
COMPONENT (компонент): составляющая производного типа (derived type).
CONFORMABLE (согласованы): говорят, что два массива (array) согласованы, если у них одинаковая конфигурация (shape). Cкаляр (scalar) согласован с любым массивом.
CONFORMANCE (соответствие): программа (program) соответствует стандарту, если она использует только те формы и отношения, которые описаны в нем, и если она имеет интерпретацию, соответствующую стандарту. Программная единица (program unit) соответствует стандарту, если ее можно включить в программу способом, позволяющим программе соответствовать стандарту. Процессор (processor) соответствует стандарту, если он выполняет программу, соответствующую стандарту, так, чтобы осуществлялась интерпретация, предписанная стандартом и содержит средства, позволяющие обнаружить и сообщить, какие черты не соответствуют стандарту.
- для внешнего устройства (external unit) - состояние устройства, когда оно связано с внешним файлом (external file);
- для внешнего файла (external file) - состояние файла, когда он связан с внешним устройством (external unit).
CONSTANT (константа): объект данных (data object), значение которого не должно изменяться во время выполнения программы (program). Это может быть либо именованная константа (named constant), либо литеральная константа (literal constant).
CONSTANT EXPRESSION (константное выражение): выражение (expression), удовлетворяющее правилам, которые обеспечивают неизменность его значения во время выполнения программы (program).
CONSTRUCT (конструкция): последовательность операторов (statement), начинающаяся с оператора SELECT CASE, DO, IF, FORALL или WHERE и заканчивающаяся соответствующим конечным оператором.
CONSTRUCT ENTITY (объект конструкции): языковый объект (entity), определяемый лексемой (lexical token), область действия (scope) которой является конструкция (construct).
CONTROL MASK (управляющая маска): в операторах (statement) или конструкциях (construct) WHERE и FORALL массив (array) логического типа (type), значение которого определяет, какие элементы массива будут участвовать в вычислениях и будут определяться в операторах присваивания. Управляющая маска используется и в некоторых встроенных процедурах.
DATA (данные): Множественное число от "данное" (datum).
DATA ENTITY (данные, сущности-данные): объект данных (data object), результат вычисления выражения (expression), либо результат выполнения ссылки (reference) на функцию (function), называемый результатом функции (function result). Данные имеют тип (data type), встроенный (intrinsic) или производный (derived), и имеют или могут иметь значение данного, за исключением - неопределенной (undefined) переменной (variable). Каждое данное имеет размерность (rank) и является, таким образом, либо скаляром (scalar), либо массивом (array).
DATA OBJECT (объект данных): данное (data entity), которое является константой (constant), переменной (variable) или подобъектом (subobject) константы.
DATA TYPE (тип данных): именованная (named) категория данных, которая характеризуется множеством значений, способом обозначения этих значений и множеством операций (operation), с помощью которых обрабатываются и интерпретируются эти значения. Для встроенного (intrinsic) типа множество значений данных зависит от значений параметров типа (type parameter).
DATUM (данное): отдельная величина, которая может принимать любое из множества значений, специфицированных для ее типа (data type).
DEFAULT INITIALIZATION (инициализация по умолчанию): если инициализация специфицируется в описании производного типа (derived type), объект такого типа будет инициализирован автоматически. Компоненты (не указатели) для таких объектов могут по умолчанию получить начальные значения, а компоненты-указатели могут по умолчанию получить начальный статус "не связан". Для объектов встроенного типа инициализация по умолчанию не предусмотрена.
DEFINABLE (определимый, т.е. может быть определен): переменная (variable) является определимой, если ее значение может быть изменено включением ее имени (name) или обозначения (designator) в левую часть оператора присваивания (assignment statement). Примером неопределимого объекта данных (data object) может служить динамически размещаемый массив (allocatable array), который еще не размещен. Примером неопределимого подобъекта (subobject) является C(I), где C - массив (array), который является константой (constant), а I - целая переменная.
DEFINED (определен): для объекта данных (data object) - статус объекта, который имеет или получил допустимое значение.
DEFINED ASSIGNMENT STATEMENT (определяемый оператор присваивания): оператор присваивания (assignment statement), который не является встроенным (intrinsic) оператором присваивания и определяется подпрограммой (subroutine) и блоком интерфейса (interface block).
DEFINED OPERATION (определяемая операция): операция (operation), которая не является встроенной (intrinsic) операцией и определяется функцией (function) и блоком интерфейса (interface block).
DELETED FEATURE (удаленное средство): средство из предыдущего стандарта Фортрана, которое рассматривалось как избыточное и малоиспользуемое, и сейчас из стандарта исключено. Средство, обозначенное в стандарте как устаревшие (obsolescent feature), может быть удалено при следующей ревизии.
DERIVED TYPE (производный тип): тип (type), данные (data) которого имеют компоненты (component) встроенного (intrinsic), либо другого производного типа.
DESIGNATOR (обозначение): см. обозначение подобъекта (subobject designator).
DISASSOCIATED (не связанный): указатель (pointer) становится не связанным с каким-либо объектом после выполнения оператора (statement) DEALLOCATE или NULLIFY, либо после присваивания ему указателя (pointer association), не связанного ни с каким объектом.
DUMMY ARGUMENT (формальный аргумент): объект, имя (name) которого указывается в заключенном в скобки списке, следующем за именем процедуры (procedure) в операторе (statement) FUNCTION, SUBROUTINE или ENTRY, либо в описании операторной функции (statement function).
DUMMY ARRAY (формальный аргумент-массив, формальный массив): формальный аргумент (dummy argument), который является массивом (array).
DUMMY POINTER (формальный аргумент-указатель, формальный указатель): формальный аргумент (dummy argument), который является указателем (pointer).
DUMMY PROCEDURE (формальный аргумент-процедура, формальная процедура): формальный аргумент (dummy argument), который специфицирован как процедура (procedure), или на который ссылаются (reference), как на процедуру.
ELEMENTAL (поэлементный): прилагательное, относящееся к встроенной (intrinsic) операции (operation), роцедуре (procedure) или к оператору присваивания (assignment statement), если они применяются в произвольном порядке к элементам массива (array) или к соответствующим элементам набора согласованных (conformable) массивов и к скалярам (scalar).
ENTITY (языковый объект, сущность): термин, используемый для следующих понятий: программная единица (program unit), процедура (procedure), знак операции (operator), блок интерфейса (interface block), общий блок (common block), внешнее устройство (external unit), операторная функция (statement function), тип (type), объект данных (data entity), метка оператора (statement label), конструкция (construct), или группа NAMELIST.
EXECUTABLE CONSTRUCT (выполняемая конструкция): конструкция (construct) CASE, DO, IF, FORALL, WHERE или оператор действия (action statement).
EXECUTABLE STATEMENT (выполняемый оператор): инструкция для выполнения или управления одним или несколькими вычислительными действиями.
EXPLICIT INITIALISATION (явная инициализация): явная инициализация может быть специализирована для объектов встроенного или производного типа в операторах объявления типа или в операторах DATA. Объект производного типа, который инициализирован по умолчанию (default initialization), не может появиться в операторе DATA.
EXPLICIT INTERFACE (явный интерфейс): процедура (procedure), на которую есть ссылка (reference) в контекстной области (scoping unit), имеет явный интерфейс, если она является внутренней процедурой (internal procedure), модульной процедурой (module procedure), встроенной (intrinsic) процедурой (procedure), внешней процедурой (external procedure), имеющей блок интерфейса (interface block), рекурсивной процедурой, на которую есть ссылка из ее собственной контекстной области, или формальной процедурой (dummy procedure), имеющей блок интерфейса.
EXPLICIT-SHAPE ARRAY (массив явной конфигурации): именованный (named) массив (array), объявленный с явно указанными границами (bounds).
EXPRESSION (выражение): последовательность операндов (operand), знаков операций (operator) и скобок. Оно может быть переменной (variable), константой (constant), ссылкой (reference) на функцию (function), либо может представлять вычисление.
EXTENT (протяженность): размер одного измерения массива (array).
EXTERNAL FILE (внешний файл): последовательность записей (record), которая существует в среде, внешней по отношению к программе (program).
EXTERNAL PROCEDURE (внешняя процедура): процедура (procedure), определяемая либо как внешняя процедура Фортрана (external subprogram), либо отличным от Фортрана способом.
EXTERNAL SUBPROGRAM (внешняя процедура Фортрана, внешняя субпрограмма): процедура Фортрана (subprogram), не входящая ни в главную программную единицу (program unit), ни в модуль (module), ни в другую процедуру Фортрана. Заметим, что модуль не называется процедурой Фортрана. Заметим, что в языке ФОРТРАН 77 программная единица-блок данных (block data program unit) называлась процедурой Фортрана.
EXTERNAL UNIT (внешнее устройство): механизм, используемый для ссылки на внешний файл (external file). Идентифицируется неотрицательным целым.
FILE (файл): внутренний файл (internal file) или внешний файл (external file).
FUNCTION (функция): процедура (procedure), которая вызывается в выражении (expression), и вычисляет значение, которое затем используется для вычисления значения выражения. Функция может также вызываться неявно в виде определяемой операции.
FUNCTION RESULT (результат функции): объект данных (data object), который возвращает значение функции (function).
FUNCTION SUBPROGRAM (процедура-функция): последовательность операторов (statement), начинающаяся с оператора FUNCTION, которая не находится в блоке интерфейса (interface block) и заканчивается соответствующим оператором END.
GENERIC IDENTIFIER (обобщенный идентификатор, родовой идентификатор): лексема (lexical token), входящая в оператор (statement) INTERFACE и связанная со всеми процедурами (procedure) в блоке интерфейса (interface block).
GLOBAL ENTITY (глобальный языковый объект): языковый объект (entity), идентифицированный лексемой (lexical token), областью действия (scope) которой является программа (program). Это может быть программная единица (program unit), общий блок (common block) или внешняя процедура (external procedure).
HOST (объемлющий контекст): главная программная единица (main program) или процедура (procedure), которая содержит внутреннюю процедуру (internal procedure), называется объемлющим контекстом внутренней процедуры. Mодуль (module), содержащий модульную процедуру (module procedure), называется объемлющим контекстом модульной процедуры.
HOST ASSOCIATION (связь по объемлющему контексту): процесс, посредством которого внутренняя процедура (internal procedure), модульная процедура (module procedure) или описание производного типа (derived type) осуществляют доступ к объектам (entity) своего объемлющего контекста (host).
HOST SCOPING UNIT (объемлющая контекстная область): контекстная область (scoping unit), которая непосредственно окружает другую контекстную область.
IMPLICIT INTERFACE (неявный интерфейс): говорят, что процедура (procedure), на которую есть ссылка (reference) в некоторой контекстной области (scoping unit) (но не в ее собственной), имеет неявный интерфейс, если она является внешней процедурой (external procedure), не имеющей блока интерфейса (interface block), формальной процедурой (dummy procedure), не имеющей блока интерфейса, или операторной функцией (statement function).
INQUIRY FUNCTION (справочная функция): встроенная (intrinsic) функция (function), результат которой зависит не от значения основного аргумента (argument), а от его свойств.
INTENT (назначение): атрибут формального аргумента (dummy argument), не являющегося ни процедурой (procedure) и ни указателем (pointer); этот атрибут указывает, используется ли формальный аргумент для передачи данных в процедуру или из нее, или и для того, и для другого.
INSTANCE OF SUBPROGRAM (экземпляр процедуры): копия процедуры Фортрана (subprogram), создаваемая при ее вызове (invoke).
INTERFACE BLOCK (блок интерфейса, интерфейсный блок): последовательность операторов (statement), начинающаяся с оператора INTERFACE и заканчивающаяся соответствующим оператором END INTERFACE.
INTERFACE BODY (тело интерфейса): последовательность операторов (statement) в блоке интерфейса (interface block), начиная с оператора FUNCTION или SUBROUTINE и кончая соответствующим оператором END.
INTERFACE OF A PROCEDURE (интерфейс процедуры, процедурный интерфейс): см. процедурный интерфейс (procedure interface).
INTERNAL FILE (внутренний файл): символьная переменная (variable), которая используется для преобразования и передачи данных (data) из внутренней памяти во внутреннюю память.
INTERNAL PROCEDURE (внутренняя процедура): процедура (procedure), определяемая внутренней процедурой Фортрана (internal subprogram).
INTERNAL SUBPROGRAM (внутренняя процедура Фортрана): процедура Фортрана (subprogram), расположенная внутри главной программной единицы (main program) или внутри другой процедуры Фортрана.
INTRINSIC (встроенный): прилагательное, применяемое к типам (type), операциям (operation), операторам присваивания (assignment statement) и процедурам (procedure), которые определяются в стандарте и могут быть использованы в любой контекстной области (scoping unit) без последующего описания или спецификации.
- вызов подпрограммы (subroutine) посредством оператора (statement) CALL или оператора определяемого присваивания (defined assignment statement);
- вызов функции (function) посредством ссылки (reference) на ее имя (name) или при помощи знака операции (operator) во время вычисления выражения (expression).
KEYWORD (ключевое слово): ключевое слово оператора (statement keyword) или ключевое слово аргумента (argument keyword).
KIND TYPE PARAMETER (параметр разновидности типа): параметр, значения которого определяют доступные разновидности встроенного (intrinsic) типа.
LABEL (метка): см. метка оператора (statement label).
LENGTH OF A CHARACTER STRING (длина символьной строки): число символов (character) в символьной строке (character string).
LEXICAL TOKEN (лексема): последовательность из одного или нескольких символов, интерпретируемая как одно целое.
LINE (строка): последовательность от 0 до 132 символов (character), которая может содержать операторы (statement) Фортрана, комментарий или строку INCLUDE.
LITERAL CONSTANT (литеральная константа): константа (constant) без имени (name). Заметим, что в языке ФОРТРАН 77 это называлось просто константой.
LOCAL ENTITY (локальный языковый объект): языковый объект, идентифицированный лексемой (lexical token), областью действия (scope) которой является некоторая контекстная область (scoping unit).
MAIN PROGRAM (главная программная единица, главная программа): программная единица (program unit), которая не является ни модулем (module), ни процедурой Фортрана (subprogram), ни программной единицей-блоком данных (block data program unit).
MANY-ONE ARRAY SECTION (многозначная секция массива): секция массива (array section) с векторным индексом (vector subscript), имеющим два или более элементов с одинаковым значением.
MODULE (модуль): программная единица (program unit), содержащая описания (или имеющая доступ к описаниям), к которым имеют доступ другие программные единицы.
MODULE PROCEDURE (модульная процедура): процедура (procedure), определяемая модульной процедурой Фортрана (module subprogram).
MODULE SUBPROGRAM (модульная процедура Фортрана): процедура Фортрана (subprogram), находящаяся внутри модуля (module), но не являющаяся внутренней процедурой Фортрана (internal subprogram).
NAME (имя): лексема (lexical token), начинающаяся с буквы, за которой следуют до 30 алфавитно-цифровых символов (буквы, цифры, символы подчеркивания). Заметим, что в языке ФОРТРАН 77 это называлось символическим именем.
NAME ASSOCIATION (связь по имени): связь по аргументу (argument association), связь по использованию (use association), связь по объемлющему контексту (host association).
NAMED (именованный): имеющий имя (name). В словосочетании "именованная переменная" слово "переменная" означает, что имя переменной не сопровождается списком индексов, спецификацией подстроки и т.п. Например, если X - массив, ссылка "X" - это именованная переменная, а "X(1)" - обозначение подобъекта.
NAMED CONSTANT (именованная константа): константа, имеющая имя. Заметим, что в языке ФОРТРАН 77 это называлось символической константой.
NONEXECUTABLE STATEMENT (невыполняемый оператор): оператор, используемый для формирования программной среды, в которой производятся вычислительные действия.
NUMERIC STORAGE UNIT (числовая единица памяти): единица памяти для хранения скаляра (scalar), не являющегося указателем и имеющего стандартный вещественный, стандартный целый или стандартный логический тип (type).
NUMERIC TYPE (числовой тип): целый, вещественный или комплексный тип (type).
OBJECT (объект): объект данных (data object).
OBSOLESCENT FEATURE (устаревшее средство): средство языка, которое считается избыточным, но пока еще часто используется.
OPERAND (операнд): выражение (expression), стоящее до или после знака операции (operator).
OPERATION (операция): вычисление, включающее один или два операнда (operand).
OPERATOR (знак операции): лексема (lexical token), специфицирующая операцию (operation).
POINTER (указатель): переменная (variable), которая имеет атрибут POINTER. Если указатель не связан (pointer associated) с адресатом (target), на него нельзя ссылаться (reference), и он не может быть определен (defined). Eсли он объявлен как массив (array), его ранг (rank) определен, но конфигурация (shape) не определена до тех пор, пока он не станет связанным с адресатом.
POINTER ASSIGNMENT (присваивание указателю): установление связи (pointer association) указателя (pointer) с адресатом (target) посредством выполнения оператора присваивания указателю (pointer assignment statement) или оператора присваивания (assignment statement) для объекта данных (data object) производного типа (derived type), имеющего указатель в качестве подобъекта (subobject).
POINTER ASSIGNMENT STATEMENT (оператор присваивания указателю): оператор (statement) вида "указатель =>адресат" (pointer => target).
POINTER ASSOCIATED (связанный по указателю): отношение между указателем (pointer) и адресатом (target), установленное посредством присваивания указателю (pointer assignment) или в результате успешного выполнения оператора (statement) ALLOCATE.
POINTER ASSOCIATION (установление связи указателя): процесс, в результате которого указатель становится связанным (pointer associated) с адресатом (target).
PRECONNECTED (предварительно подсоединено): свойство устроййства быть связанным с внешним файлом (external file) в начале выполнения программы (program). Такое устройство может быть специфицировано в операторах ввода- вывода без предварительного выполнения оператора OPEN для этого устройства.
PRESENT (присутствует): формальный аргумент (dummy argument) присутствует в экземпляре процедуры (instance of subprogram), если он связан с фактическим аргументом (actual argument), который в вызывающей процедуре ((procedure) либо тоже присутствует как формальный аргумент, либо не является ее формальным аргументом.
PROCEDURE (процедура): вычисление, которое может быть вызвано (invoke) во время выполнения программы. Это может быть функция (function) или подпрограмма (subroutine). Это может быть встроенная (intrinsic) процедура (procedure), внешняя процедура (external procedure), модульная процедура (module procedure), внутренняя процедура (internal procedure), формальная процедура (dummy procedure) или операторная функция (statement function). Процедура Фортрана (subprogram) может определять более чем одну процедуру, если содержит операторы (statement) ENTRY.
PROCEDURE INTERFACE (интерфейс процедуры): характеристики (characteristics) процедуры (procedure), ее имя (name), имя каждого из ее формальных аргументов (dummy argument) и родовые идентификаторы (generic identifier), если они есть, с помощью которых можно ссылаться (reference) на эту процедуру.
PROCESSOR (процессор): совокупность вычислительной системы и механизма преобразования программ (program) для их использования в этой вычислительной системе.
PROCESSOR DEPENDENT (процессорно-зависимый): констатация того, что описываемое средство не полностью специфицировано стандартом. Такое средство должно быть обеспечено процессором (processor), методы или семантика определяются процессором.
PROGRAM (программа): совокупность программных единиц (program unit), включающая одну и только одну главную программную единицу (main program).
PROGRAM UNIT (программная единица): основной компонент программы (program). Последовательность операторов (statement), строк комментария и строки INCLUDE. Это может быть главная программная единица (main program), модуль (module), внешняя процедура Фортрана (external subprogram) или программная единица-блок данных (block data program unit).
RANK (размерность, ранг): число измерений массива (array). Для скаляра (scalar) - нуль.
RECORD (запись): последовательность значений или символов внутри файла (file), трактуемая как единое целое.
REFERENCE (ссылка): появление имени (name) объекта данных (data object) или обозначения подобъекта (subobject designator) в контексте, требующем его значение в данной точке во время выполнения, либо появление имени процедуры (procedure), знака операции (operator) или оператора определяемого присваивания (defined assignment statement) в контексте, требующем выполнения процедуры в этой точке или появление имени модуля (module) в операторе USE. Заметим, что ни определение переменной (variable), ни появление имени процедуры в качестве фактического аргумента (actual argument) не рассматривается как ссылка.
RESULT VARIABLE (результирующая переменная): переменная (variable), которая возвращает значение функции (function).
SCALAR (скаляр): отдельное данное (datum), не являющееся массивом и не обладающее свойствами массива (array).
SCOPE (область действия, область видимости): такая часть программы (program), внутри которой лексема (lexical token) имеет единственную интерпретацию. Это может быть программа (program), контекстная область (scoping unit), конструкция (construct), отдельный оператор (statement) или часть оператора.
SCOPING UNIT (контекстная область): одно из следующих:
- описание производного типа (derived type),
- тело интерфейса (interface body), исключая содержащиеся в нем тела интерфейса и описания производного типа или
- программная единица (program unit) или процедура Фортрана (subprogram), исключая все содержащиеся в ней описания производных типов, тела интерфейсов и процедур.
SECTION SUBSCRIPT (индекс секции): индекс (subscript), векторный индекс (vector subscript) или индексный триплет (subscript triplet) в селекторе (selector) секции массива (array section).
SELECTOR (селектор): синтаксический механизм для обозначения следующего:
- части объекта данных (data object), который может обозначать подстроку (substring), элемент массива (array element), секцию массива (array section) или компонент структуры (structure component);
- множества значений, для которых выполняется блок (block) CASE.
SHAPE (конфигурация, форма): для массива (array) - размерность (rank) и протяженности (extent). Конфигурация может быть представлена одномерным массивом, элементами которого являются протяженности в каждом измерении.
SIZE (размер): для массива (array) - общее число элементов.
STANDARD-CONFORMING PROGRAM (программа, соответствующая стандарту): программа (program), содержащая только те формы и отношения, которые описаны в стандарте и которые интерпретируются в соответствии с этим стандартом.
STATEMENT (оператор): последовательность лексем (lexical token). Обычно состоит из одной строки, но можно использовать символ "&" для продолжения оператора на другую строку или символ ";" для разделения операторов в одной строке.
STATEMENT ENTITY (языковый объект оператора, объект оператора): языковый объект (entity), идентифицированный лексемой (lexical token), областью действия (scope) которой является один оператор (statement) или часть оператора.
STATEMENT FUNCTION (операторная функция): процедура (procedure), специфицированная одним оператором (statement), похожим по форме на оператор присваивания (assignment statement).
STATEMENT KEYWORD (ключевое слова оператора): слово, которое является частью синтаксиса оператора (statement) и может использоваться для его идентификации.
STATEMENT LABEL (метка оператора): лексема (lexical token), образованная из цифр (от одной до пяти), которая предшествует оператору (statement) и может быть использована для ссылки на него.
STORAGE ASSOCIATION (связь по памяти): отношение между двумя последовательностями памяти (storage sequence), когда единица памяти одной из них совпадает с единицей памяти другой.
STORAGE SEQUENCE (последовательность памяти): последовательность смежных единиц памяти (storage unit).
STORAGE UNIT (единица памяти): символьная единица памяти (character storage unit), числовая единица памяти (numeric storage unit), либо неспецифицированная единица памяти (unspecified storage unit).
STRIDE (шаг): приращение, указанное в индексном триплете (subscript triplet).
STRUCTURE (структура): скалярный (scalar) объект данных (data object) производного типа (derived type).
STRUCTURE COMPONENT (компонент структуры): часть объекта (object) производного типа (derived type), на которую можно ссылаться с помощью обозначения подобъекта (subobject designator).
SUBOBJECT (подобъект): часть именованного (named) объекта данных (data object), которая может быть определена (defined) и на которую можно ссылаться (reference) независимо от других частей. Это может быть элемент массива (array element), секция масива (array section), компонент структуры (structure component) или подстрока (substring).
SUBOBJECT DESIGNATOR (обозначение подобъекта): имя (name), за которым следует один или несколько селекторов (selector) компонента (component), селекторов секции массива (array section), селекторов элементов массива (array element) или селекторов подстроки (substring).
SUBPROGRAM (процедура Фортрана, субпрограмма): функция (function subprogram) или подпрограмма (subroutine subprogram). Заметим, что в языке ФОРТРАН 77 к этой категории относилась и программная единица-блок данных (block data program unit).
SUBROUTINE (подпрограмма): процедура (procedure), вызываемая (invoke) c помощью оператора (statement) CALL или оператора определяемого присваивания (defined assignment statement).
SUBROUTINE SUBPROGRAM (процедура-подпрограмма): последовательность операторов (statement), начинающаяся с оператора SUBROUTINE, не входящего в блок интерфейса (interface block), и заканчивающаяся соответствующим оператором END.
SUBSCRIPT (индекс): одно из скалярных (scalar) целых выражений (expression), образующих список в селекторе (selector) элемента массива (array element). Заметим, что в языке ФОРТРАН 77 весь список назывался индексом.
SUBSCRIPT TRIPLET (индексный триплет): элемент списка в селекторе (selector) секции массива (array section), который содержит двоеточие и специфицирует регулярную последовательность целых значений.
SUBSTRING (подстрока): непрерывная часть скалярной (scalar) символьной строки (character string). Заметим, что секция массива (array section) может включать селектор (selector) подстроки (substring); результат называется секцией массива, а не подстрокой.
TARGET (адресат): именованный (named) объект данных (data object), специфицированный в операторе TARGET или в операторе объявления типа (type declaration statement), содержащем атрибут (attribute) TARGET, или объект данных, созданный оператором ALLOCATE для указателя, или подобъект (subobject) такого объекта.
TRANSFORMATIONAL FUNCTION (функция преобразования): встроенная (intrinsic) функция (function), которая не является ни поэлементной (elemental) функцией (function), ни справочной функцией (inquiry function). Обычно она имеет аргументы-массивы (array) (argument) и результат-массив, значения элементов которого зависят от значений множества элементов аргументов-массивов.
TYPE (тип): Cм. тип данных (data type).
TYPE DECLARATION STATEMENT (оператор объявления типа): оператор (statement) INTEGER, REAL, DOUBLE PRECISION, СOMPLEX, CHARACTER, LOGICAL или TYPE (имя-типа).
TYPE PARAMETER (параметр типа): параметр встроенного (intrinsic) типа данных (data type).
TYPE PARAMETER VALUES (значения параметра типа): значения параметров типа (type parameter) для объектов данных (data entity ) встроенного (intrinsic) типа (type).
UNDEFINED (не определено): статус объекта данных (data object), не имеющего определенного значения.
UNSPECIFIED STORAGE UNIT (неспецифицированная единица памяти): единица памяти для хранения указателя (pointer) или скаляра (scalar) - не являющегося указателем, тип (type) которого отличен от стандартного целого, стандартного символьного, стандартного вещественного, двойной точности, стандартного логического или стандартного комплексного.
USE ASSOCIATION (связь по использованию): связь имен (name) в разных контекстных областях (scoping unit), специфицированная в операторе (statement) USE.
VARIABLE (переменная): объект данных (data object), значение которого может быть определено (defined) или переопределено во время выполнения программы (program). Это может быть именованный (named) объект данных, элемент массива (array element), секция массива (array section), компонент структуры (structure component) или подстрока (substring). Заметим, что в языке ФОРТРАН 77 переменная всегда была скаляром (scalar) и имела имя.
VECTOR SUBSCRIPT (векторный индекс): индекс секции (section subscript), который является выражением (expression) целого типа, размерность (rank) его равна единице.
WHOLE ARRAY (массив целиком): именованный (named) массив.
© Лаборатория Параллельных информационных технологий НИВЦ МГУ