An executable program ( 2.4.2) conforms to this standard if it uses only those forms and relationships described herein and if the executable program has an interpretation according to this standard. A program unit ( 2.4) conforms to this standard if it can be included in an executable program in a manner that allows the executable program to be standard conforming.
A processor conforms to this standard if it executes standard-conforming programs in a manner that fulfills the interpretations prescribed herein. A standard-conforming processor may allow additional forms and relationships provided that such additions do not conflict with the standard forms and relationships. However, a standard-conforming processor may allow additional intrinsic functions ( 15.10) even though this could cause a conflict with the name of an external function in a standard-conforming program. If such a conflict occurs, the processor is permitted to use the intrinsic function unless the name appears in an EXTERNAL statement within the program unit. A standard-conforming program must not use intrinsic functions that have been added by the processor. Note that a standard-conforming program must not use any forms or relationships that are prohibited by this standard, but a standard-conforming processor may allow such forms and relationships if they do not change the proper interpretation of a standard-conforming program.
Because a standard-conforming program may place demands on the processor that are not within the scope of this standard or may include standard items that are not portable, such as external procedures defined by means other than FORTRAN, conformance to this standard does not ensure that a standard-conforming program will execute consistently on all or any standard-conforming processors.
An executable program conforms to the subset level of this standard if it uses only those forms and relationships described herein for that level and if the executable program has an interpretation according to this standard at that level and would have the same interpretation in the full language. A program unit conforms to the subset level of this standard if it can be included in an executable program in a manner that allows the executable program to be standard conforming at that level.
A subset level processor conforms to the subset level of this standard if it executes subset level standard-conforming programs in a manner that fulfills the interpretations prescribed herein for subset FORTRAN. A subset level processor may include an extension that has a form and would have an interpretation at the full level only if the extension has the interpretation provided by the full level. A subset level processor may also include extensions that do not have forms and interpretations in the full language.
In describing the form of FORTRAN statements or constructs, the following metalanguage conventions and symbols are used:
An example illustrates the metalanguage. Given a description of the form of a statement as:
CALL sub [( [a [,a]...] )]the following forms are allowed:
When an actual statement is written, specific entities are substituted for sub and each a ; for example:
CALL ABCD (X,1.0)
There are some instances in which a general situation occurs in the full language but only a restricted case applies to the subset. For example, in 3.6, the "nonexecutable statements" that may appear between executable statements may only be FORMAT statements in the subset. In most of these instances, the more general text of the full language description has been retained in the subset description, even though it is to be interpreted as covering only the restricted case.
To help find differences between the full and subset languages, vertical bars have been added in the margins where the text of the full and subset languages differ. For example, this sentence does not appear in the subset language text.