1 INTRODUCTION

1.1 Purpose

This standard specifies the form and establishes the interpretation of programs expressed in the FORTRAN language. The purpose of this standard is to promote portability of FORTRAN programs for use on a variety of data processing systems.

1.2 Processor

The combination of a data processing system and the mechanism by which programs are transformed for use on that data processing system is called a processor in this standard.

1.3 Scope

1.3.1 Inclusions.

This standard specifies:
  1. The form of a program written in the FORTRAN language
  2. Rules for interpreting the meaning of such a program and its data
  3. The form of writing input data to be processed by such a program operating on data processing systems
  4. The form of the output data resulting from the use of such a program on data processing systems

1.3.2 Exclusions.

This standard does not specify:
  1. The mechanism by which programs are transformed for use on a data processing system
  2. The method of transcription of programs or their input or output data to or from a data processing medium
  3. The operations required for setup and control of the use of programs on data processing systems
  4. The results when the rules of this standard fail to establish an interpretation
  5. The size or complexity of a program and its data that will exceed the capacity of any specific data processing system or the capability of a particular processor
  6. The range or precision of numeric quantities and the method of rounding of numeric results
  7. The physical properties of input/output records, files, and units
  8. The physical properties and implementation of storage

1.4 Conformance

The requirements, prohibitions, and options specified in this standard generally refer to permissible forms and relationships for standard-conforming programs rather than for processors. The obvious exceptions are the optional output forms produced by a processor, which are not under the control of a program. The requirements, prohibitions, and options for a standard-conforming processor usually must be inferred from those given for programs.

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.

1.4.1 Subset Conformance.

This standard describes two levels of the FORTRAN language, referred to as FORTRAN and subset FORTRAN. FORTRAN is the full language. Subset FORTRAN is a subset of the full language.

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.

1.5 Notation Used in This Standard

In this standard, "must" is. to be interpreted as a requirement; conversely, "must not" is to be interpreted as a prohibition.

In describing the form of FORTRAN statements or constructs, the following metalanguage conventions and symbols are used:

  1. Special characters from the FORTRAN character set, uppercase letters, and uppercase words are to be written as shown, except where otherwise noted.
  2. Lowercase letters and lowercase words indicate general entities for which specific entities must be substituted in actual statements. Once a given lowercase letter or word is used in a syntactic specification to represent an entity, all subsequent occurrences of that letter or word represent the same entity until that letter or word is used in a subsequent syntactic specification to represent a different entity.
  3. Brackets, [ ], are used to indicate optional items.
  4. An ellipsis, ... , indicates that the preceding optional items may appear one or more times in succession.
  5. Blanks are used to improve readability, but unless otherwise noted have no significance.
  6. Words or groups of words that have special significance are underlined where their meaning is described. Titles and the metalanguage symbols described in 1.5(2) are also underlined.

An example illustrates the metalanguage. Given a description of the form of a statement as:

CALL sub [( [a [,a]...] )]
the following forms are allowed:
  1. CALL sub
  2. CALL sub ()
  3. CALL sub (a)
  4. CALL sub (a, a)
  5. CALL sub (a, a, a)
  6. etc

When an actual statement is written, specific entities are substituted for sub and each a ; for example:

CALL ABCD (X,1.0)

1.6 Subset Text

The section titles in the subset description are identical to the section titles in the full language description.

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.

'




[Contents] [Previous] [Next]
This document was translated by troff2html v0.21 on August 16, 1995.