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