Fortran Terminology Glossary

Ken Hawick, hawick@npac.syr.edu

Version 1.0


actual argument (n.) an expression, a variable, or a procedure that is specified in a procedure reference.

allocatable array (n.) a named array having the ALLOCATABLE attribute. Only when it has space allocated for it does it have a shape and may it be referenced or defined.

argument (n.) an actual argument or dummy argument.

argument association (n.) the relationship between an actual argument and a dummy argument during the execution of a procedure reference

argument keyword (n.) a dummy argument name, which may be used in a procedure reference ahead of the equals symbol provided the procedure has an explicit interface.

array (n.) a set of scalar data, all of the same type and type parameters, whose individual elements are arranged in a rectangular pattern. It may be a named array, the target of an array pointer, an array section, a structure component, a function value or an expresion. Its rank is at least one. In Fortran 77, arrays are always named and always variables.

array element (n.) one of the scalar data that make up an array.

array pointer (n.) a pointer to an array.

array section (n.) a subobject of an array consisting of a set of array elements or substrings of a set of array elements which is specified by subscripts, subscript triplets and vector subscripts.

array-valued (adj.) having the property of being an array.

assignment statement (n.) a statement of the form ``variable = expression''.

assignment token (n.) the lexical token ``='' used in an assignment statement.

association (n.) name association, pointer association or storage association.

assumed-size array (n.) a dummy array whose size is assumed from the associated actual argument. Its last upper bound is specified by an asterisk.

attribute (n.) a propery of a data object that may be specified in a type declaration statement.

belong (v.) if an EXIT or a CYCLE statement contains a construct name, the statement ``belongs'' to the DO construct using that name. Otherwise, it belongs to the innermost DO construct in which it appears.

block (n.) a sequence of executable constructs embedded in another executable construct, bounded by statements that are particular to the construct, and treated as an integral unit.

block data program unit (n.) a program unit that provides initial values for data objects in namedcommon blocks.

bounds (n.) for a named array, the limits within which the values of the subscripts of the array elements must lie.

character (n.) a letter, digit or other symbol.

character storage unit (n.) the unit of storage for holding a scalar of type default character and character length one that is not a pointer.

character string (n.) a sequence of characters numbered from left to right.

characteristics (n.) property

  1. of a procedure, its classification as a function or subroutine, the characteristics of its dummy arguments, and the characteristics of its function result if it is a function.
  2. of a dummy argument, whether it is a data object, is a procedure, or has the OPTIONAL attribute.
  3. of a data object, its type, type parameters shape, the exact dependence of an array bound or the character length on other entities, intent, whether it is OPTIONAL, whether it is a pointer or a target, and whether the shape, size or character length is assumed.
  4. of a dummy procedure, whether the interface is explicit, its characteristics as a procedure if the interface is explicit, and whether it is optional.
  5. of a function result, its type, type parameters, whether it is a pointer, rank if it is a pointer, shape if it is not a pointer, the exact dependence of an array bound or the charater length on other entities, and whether the character length is assumed.

collating sequence (n.) an ordering of all the diffeent characters of a particulr kind type parameter.

common block (n.) a block of physical storage that may be accessed by any of the scoping units in an executable program

component (n.) a constituent of a derived type.

conformable (adj.) two arrays are said to be conformable if they have the same shape. A scalar is conformable with any array.

connected (n.) the property of referring to an external file in the case of an external unit; and the property of having an external unit that refers to it for the case of an external file.

constant (n.) a data object whose value must not change during execution of an executable program. In Fortran 90 it may be a named constant or a literal constant, whereas in Fortran 77 a constant may only be a literal constant.

constant expression (n.) an expression satisfying rules that ensure its value does not change during program execution.

construct (n.) a sequence of statements starting with a CASE, DO,IF or WHERE statement and ending with the corresponding terminal statement.

data (n.) plural of datum - an entity of information.

data entity (n.) an entity that has of may have a data value. It may be a constant, a variable, an expression or a function result.

data object (n.) a datum of intrinsic or derived type or an array of such data. It may be a literal constant, a named data object, a target of a pointer, or it may be a subobject.

data type (n.) a named category of data that is characterized by a set of values, together with a way to denote those values and a collection of operations that interpret and manipulate the values. For an intrinsic data type, the set of data values depends on the values of the type parameters.

datum (n.) a single quantity that may have any of the set of values specified in its data type.

definable (adj.) a variable is definable if its value may changed by the appearance of its name or designator on the left of an assignment statement. An allocatable array that has not been allocated is an example of a data object that is not definable. An example of a subobject that is not definable is C(I) when Cis an array that is a constant and I is an integer variable.

defined (adj.) for a data object, the property of having or being given a valid value.

defined assignment statement (n.) an assignment statement that is not an intrinsic assignment statement and is defined by a subroutine subprogram and an interface block.

defined operation (n.) an operation that is not an intrinsic operation and is defined by a function subprogram and an interface block.

deleted feature (n.) a feature in Fortran 77 that is considered to be redundant and largely unused. No features from Fortran 77 were deleted in arriving at the Fortran 90 standard. In principle a feature designated as obsolescent in a standard may become a deleted feature in the subsequent revision of the standard. In practice, KAH doubts any features will ever be actually deleted - such is the clout of existing codes.

derived type (n.) a type whose data have components each of which is either of intrinsic type or of another derived type.

designator (n.) see subobject designator.

disassociated (adj.) a pointer is disassociated following execution of a DEALLOCATE or NULLIFY statement.

dummy argument (n.) an entity whose name appears in the parenthesized list following the procedure name in a FUNCTION statement, a SUBROUTINE statement, an ENTRY statement, or a statement function statement.

dummy array (n.) a dummy argument that is an array.

dummy pointer (n.) a dummy argument that is a pointer.

dummy procedure (n.) a dummy argument that is specified or referenced as a procedure.

elemental (adj.) referring to an intrinsic operation, procedure or assignment statement that is applied independently to the elements of an array or to coresponding elements of a set of conformable arrays and scalars.

entity (n.) the term used for any of the following: a program unit; a procedure; an operator; an interface block; a common block; an external unit; a statement function; a type; a named variable; an expression; a component of a structure; a named constant; a statement label; a construct; or a NAMELIST group.

executable construct (n.) a CASE, DO, IF or WHERE construct in Fortran 90.

executable program (n.) a set of program units that indicates exactly one main program.

executable statement (n.) an instruction to perform or control one or more computational actions.

explicit interface (n.) for a procedure referenced in a scoping unit, the property of being a module procedure, an intrinsic procedure, an external procedure that has an interface block or is defined by the scoping unit and is recursive, or a dummy procedure that has an interface block.

explicit-shape array (n.) a named array that is declared with explicit bounds.

expression (n.) a sequence of operands, operators and parantheses. It may be a variable, a constant, a function reference, or may represent a computation.

extent (n.) the size of one dimension of an array.

external file (n.) a sequence of records that is stored on a medium external to the executable program.

external procedure (n.) a procedure that is defined by an external subprogram or by a means other than Fortran.

external subprogram (n.) a subprogram that is not contained in a main program, module or another subprogram. In Fortran 77 a block data program unit is called a subprogram.

external unit (n.) a mechanism that is used to refer to an external file. It is identified by a non negative integer.

file (n.) an internal file or an external file.

function (n.) a procedure that is invoked in an expression.

function result (n.) the data object that returns the value of a function.

function subprogram (n.) a sequence of statements beginning with a FUNCTION statement that is not in an interface block and ending with the corresponding END statement.

generic identifier (n.) a name, operator or assignment token specified in an INTERFACE statement to provide an alternative means of invoking any of the procedures in the interface block.

global entity (n.) an entity identified by a lexical token whose scope is an executable program. It may be a program unit, a common block, or an external procedure.

host (n.) a main program or subprogram that contains an internal procedure is called the host of the internal procedure. A module that contains a module procedure is called the host of the module procedure.

host association (n.) the process by which an internal subprogram or derived type definition accesses entities of its host.

implicit interface (n.) a procedure referenced in a scoping unit is said to have an implicit interface if the procedure does not have an explicit interface there.

inquiry function (n.) an intrinsic function whose result depends on properties of the principal argument other than the value of the argument.

instance of a subprogram (n.) the copy of a subprogram that is created when a procedure defined by the subprogram is invoked.

intent (n.) a property of a dummy argument that is neither a procedure nor a pointer, indicating whether it is intended to transfer data into the procedure, out of the procedure, or both.

interface block (n.) a sequence of statements beginning with an INTERFACE statement and ending with the corresponding END INTERFACE statement.

interface body (n.) a sequence of statements in an interface block beginning with a FUNCTION or SUBROUTINE statement and ending with the corresponding END statement.

interface of a procedure (n.) see procedure interface.

internal file (n.) a character variable that is used to transfer and convert data from one form of internal storage to another.

internal procedure (n.) a procedure that is defined by an internal subprogram.

internal subprogram (n.) a subprogram contained in a main program or another subprogram.

intrinsic (adj.) applied to types, operations, assignment statements and procedures that are defined in the Fortran 90 standard and may be used in any scoping unit without further definition or specification.

invoke (v.) to call a subroutine by a CALL statement or by a defined assignment statement. To call a function by a reference to it by name or operator during the evaluation of an expression.

keyword (n.) a statement keyword or an argument keyword.

kind type parameter (n.) a parameter whose values label the available kinds of an intrinsic type.

label (n.) see statement label.

length of a character string (n.) the number of characters in a character string.

lexical token (n.) a sequence of one or more characters with an indivisible interpretation.

line (n.) a source form record containing up to 72 characters in the case of Fortran 77 and up to 132 characters in the case of Fortran 90.

literal constant (n.) a constant without a name.

local entity (n.) an entity identified by a lexical token whose scope is a scoping unit.

main program (n.) a program unit that is not a module, subprogram or block data program unit.

many-one array section (n.) an array section with a vector subscript having two or more elements with the same value.

module (n.) a program unit that contains or accesses definitions to be accessed by other program units.

module procedure (n.) a procedure that is defined by a module subprogram.

module subprogram (n.) a subprogram that is contained in a module but is not an internal subprogram.

name (n.) a lexical token consisting of up to 30 alphanumeric characters (letters, digits and underscores). In Fortran 77, this was called a symbolic name, and was restricted to 6 characters.

name association (n.) argument association, use association or host association.

named (adj.) having a name.

named constant (n.) a constant that has a name. In Fortran 77 this is known as a symbolic constant.

numeric storage unit (n.) the unit of storage for holding a scalar of type default real, default integer or default logical that is not a pointer.

numeric type (n.) integer, real or complex type.

object (n.) see data object.

obsolescent feature (n.) a language feature that is considered to be redundant but which is still in frequent use in existing codes.

operand (n.) an expression that preceeds or succeeds an operator.

operation (n.) a computation involving one or two operands.

operator (n.) a lexical token that specified an operation.

pointer (n.) a data object that has the POINTER attribute. It may not be referenced or defined unless it is pointer associated with a target. If it is an array, it does not have a shape unless it is pointer associated.

pointer assignment (v.) The pointer association of a pointer with a target by the execution of a pointer assignment statement or the execution of an assignment statement for a data object of derived type having the pointer as a subobject.

pointer assignment statement (n.) a statement of the form pointer = >target">target.

pointer associated (adj.) relationship between a pointer and a target following a pointer assignment or a valid execution of an ALLOCATE statement.

pointer association (n.) process by which a pointer becomes pointer associated with a target.

present (adj.) a dummy argument is present in an instance of a subprogram if it is associated with an actual argument and the actual argument is a dummy argument that is present in the invoking procedure or is not a dummy argument of the invoking procedure.

procedure (n.) a computation that may be invoked during program execution. It may be a function or a subroutine. It may be an internal procedure, an external procedure, a module procedure, a dummy procedure, or a statement function. A subprogram may define more than one procedure if it contains ENTRY statements.

procedure interface (n.) the characteristics of a procedure, the name of the procedure, the name of each dummy argument, and the generic identifiers (if any) by which it may be referenced.

processor (n.) the combination of a computing system and the mechanism by which executable programs are transformed for use on that computing system.

program (n.) see executable program and main program.

program unit (n.) the fundamental component of an executable program. A sequence of statements and comment lines. It may be a main program, a module, an external subprogram, or a block data program unit.

rank (n.) the number of dimensions of an array. Zero for a scalar.

record (n.) a sequence of values that is treated as a whole within a file.

reference (n.) the appearance of a data object name or subobject designator in a context requiring the value at that point during execution, or the appearance of a procedure name, its operator symbol, or a defined assignment statement in a context requiring execution of the procedure at that point. Note that neither the act of defining a variable nor the appearance of the name of a procedure as an actual argument is regarded as a reference.

scalar (n.) a single datum that is not an array; or (adj.) not having the property of being an array.

scope (n.) that part of an executable program within which a lexical token has a single interpretation. It may be an executable program, a scoping unit, a single statement, or a part of a statement.

scoping unit (n.) one of the following:

  1. a derived type definition;
  2. an interface body, excluding any derived type defintions and interface bodies contained within it;
  3. a program unit or subprogram, excluding derived type definitions, interface bodies, and subprograms contained within it.

section subscript (n.) a subscript, subscript triplet, or vector subscript in an array section selector.

selector (n.) a syntactic mechanims for designating: a part of of a data object. It may designate a substring, an array element, an array section, or a structure component.

shape (n.) for an array, the rank and extents. The shape may be represented by (integer) rank-one array whose elements are the extents in each dimension.

size (n.) for an array, the total number of elements.

standard module (n.) a module standardized as a separate collateral standard.

statement (n.) a sequence of lexical tokens. It usually consists of a single line, but in Fortran 90 the ampersand symbol may be used to continue a statement from one line to another and the semicolon symbol may be used to separate statements within a line. In Fortran 77 any character in column 6 serves to denote continuation from the previous line. Multiple statements in the same line are not allowed in Fortran 77.

statement entity (n.) an entity identified by a lexical token whose scope is a single statement or part of a statement.

statement function (n.) a procedure specified by a single statement that is similar in form to an assignment statement.

statement keyword (n.) a word that is part of the syntax of a statement and that may be used to identify the statement.

statement label (n.) a lexical token consisting of up to 5 digits that precedes a statement and may be used to refer to the statement.

storage association (n.) the relationship between two storage sequences if a storage unit of one is the same as a storage unit of the other.

storage sequence (n.) a sequence of contiguous storage units.

storage unit (n.) a character storage unit, a numeric storage unit, or an unspecified storage unit.

stride (n.) the increment specified in a subscript triplet.

structure (n.) a scalar data object of derived type.

structure component (n.) the part of an object of derived type corresponding to a component of its type.

subobject (n.) of a named data object or target of a pointer, a portion that may be referenced or defined independently of other portions. It may be an array element, an array section, a structure component, or a substring.

subobject designator (n.) a name, followed by one or more component selectors, array section selectors, array element selectors, and substring selectors.

subprogram (n.) a function subprogram or a subroutine subprogram. In Fortran 77 a block data program unit is also a subprogram.

subroutine (n.) a procedure that is invoked by a CALL statement or by a defined assignment statement.

subroutine subprogram (n.) a sequence of statements from a SUBROUTINE statement that is not in an interface block up to the corresponding END statement.

subscript (n.) one of the lsit of scalar integer expressions in an array element selector. In Fortran 77 the whole list is referred to as the subscript.

subscript triplet (n.) an item in the list of an array section selector that contains a colon and specifies a regular sequence of integer values.

substring (n.) a contiguous portion of a scalar character string. Note that an array section can include a substring selector, the result is called an array section and not a substring.

target (n.) a named type declaration statement containing the TARGET attribute, a data object created by an ALLOCATE statement for a pointer, or a subobject of such an object.

transformational function (n.) an intrinsic function that is neither an elemental function nor an inquiry function. It usually has array arguments and an array result whose elements have values that depend on the values of many of the elements of the arguments.

type (n.) see data type.

type declaration statement (n.) an INTEGER, REAL, DOUBLE PRECISION, COMPLEX, CHARACTER, LOGICAL or TYPE(type-name) statement.

type parameter (n.) a parameter of an intrinsic data type.

type parameter values (n.) the valiues of the type parameters of a data entity of an intrinsic data type.

undefined (adj.) for a data object, the property of not having a determinate value.

unspecified storage unit (n.) a unit of storage for holding a pointer or a scalar object of non-default intrinsic type that is not a pointer.

use association (n.) the association of names in different scoping units specified by a USE statement.

variable (n.) a data object whose value can be defined and redefined during the execution of an executable program. It may be a named data object, an array element, an array section, a structure component, or a substring. In Fortran 77 a variable is always scalra nd named.

vector subscript (n.) a section subscript that is an integer expression of rank one.


© Лаборатория Параллельных Информационных Технологий, НИВЦ МГУ
Rambler's Top100