About This Manual
Prev |  | Next

## About This Manual

This manual describes the Fortran language as implemented by the CF90 compiler, revision 3.2, and by the MIPSpro 7 Fortran 90 compiler, revision 7.3. The CF90 and MIPSpro 7 Fortran 90 compilers implement the Fortran standard.

The CF90 and MIPSpro 7 Fortran 90 compilers run on UNICOS, UNICOS/mk, and IRIX operating systems. Specific hardware and operating system support information is as follows:

- The CF90 compiler runs under UNICOS 10.0, or later, on CRAY SV1, CRAY C90, CRAY J90, and CRAY T90 systems.

- The CF90 compiler runs under UNICOS/mk 2.0.3, or later, on CRAY T3E systems.

- The MIPSpro 7 Fortran 90 compiler runs under IRIX 6.2, or later, on Cray and Silicon Graphics systems.

The CF90 and MIPSpro 7 Fortran 90 compilers were developed to support the Fortran standard adopted by the American National Standards Institute (ANSI) and the International Standards Organization (ISO). This standard, commonly referred to in this manual as the Fortran standard, is ISO/IEC 1539-1:1997. Because the Fortran standard is, generally, a superset of previous standards, the CF90 and MIPSpro 7 Fortran 90 compilers will compile code written to previous standards.

| Note: The Fortran 95 standard is a revision to the Fortran 90 standard. The standards organizations continue to interpret the Fortran standard for Silicon Graphics and for other vendors. To maintain conformance to the Fortran standard, Silicon Graphics may need to change the behavior of certain CF90 and MIPSpro 7 Fortran 90 compiler features in future releases based upon the outcomes of interpretations to the standard.

## Related CF90 and MIPSpro 7 Fortran 90 Compiler Publications

This manual is one of a set of manuals that describes the CF90 and the MIPSpro 7 Fortran 90 compilers. The complete set of CF90 and MIPSpro 7 Fortran 90 compiler manuals is as follows:

- Intrinsic Procedures Reference Manual.

- Fortran Language Reference Manual, Volume 1. Chapters 1 through 8 correspond to sections 1 through 8 of the Fortran standard.

- Fortran Language Reference Manual, Volume 2. Chapters 1 through 6 of this manual correspond to sections 9 through 14 of the Fortran standard.

- Fortran Language Reference Manual, Volume 3. This manual contains CF90 and MIPSpro 7 Fortran 90 compiler information that supplements the Fortran standard. The standard is the complete, official description of the language. This manual also contains the complete Fortran syntax in Backus-Naur form (BNF).

The following publications contain information specific to the CF90 compiler:

- CF90 Ready Reference

- CF90 Commands and Directives Reference Manual

- CF90 Co-array Programming Manual

The following publication contains information specific to the MIPSpro 7 Fortran 90 compiler:

- MIPSpro 7 Fortran 90 Commands and Directives Reference Manual

## CF90 and MIPSpro 7 Fortran 90 Compiler Messages

You can obtain CF90 and MIPSpro 7 Fortran 90 compiler message explanations by using the online `explain(1)` command.

## CF90 and MIPSpro 7 Fortran 90 Compiler Man Pages

In addition to printed and online prose documentation, several online man pages describe aspects of the CF90 and MIPSpro 7 Fortran 90 compilers. Man pages exist for the library routines, the intrinsic procedures, and several programming environment tools.

You can print copies of online man pages by using the pipe symbol with the `man(1)`, `col(1)`, and `lpr(1)` commands. In the following example, these commands are used to print a copy of the `explain(1)` man page:

    % man explain | col -b | lpr

Each man page includes a general description of one or more commands, routines, system calls, or other topics, and provides details of their usage (command syntax, routine parameters, system call arguments, and so on). If more than one topic appears on a page, the entry in the printed manual is alphabetized under its primary name; online, secondary entry names are linked to these primary names. For example, `egrep` is a secondary entry on the page with a primary entry name of `grep`. To access `egrep` online, you can type `man grep` or `man egrep`. Both commands display the `grep` man page to your terminal.

## Related Fortran Publications

The following commercially available reference books are among those that you can consult for more information on the history of Fortran and the Fortran language itself:

- Adams, J. C., W. S. Brainerd, J. T. Martin, B. T. Smith, and J. L. Wagener. Fortran 95 Handbook : Complete ISO/ANSI Reference. MIT Press, 1997. ISBN 0262510960.

- Chapman, S. Fortran 90/95 for Scientists and Engineers. McGraw Hill Text, 1998. ISBN 0070119384.

- Chapman, S. Introduction to Fortran 90/95. McGraw Hill Text, 1998. ISBN 0070119694.

- Counihan, M. Fortran 95 : Including Fortran 90, Details of High Performance Fortran (HPF), and the Fortran Module for Variable-Length Character Strings. UCL Press, 1997. ISBN 1857283678.

- Gehrke, W. Fortran 95 Language Guide. Springer Verlag, 1996. ISBN 3540760628.

- International Standards Organization. ISO/IEC 1539-1:1997, Information technology -- Programming languages -- Fortran. 1997.

- Metcalf, M. and J. Reid. Fortran 90/95 Explained. Oxford University Press, 1996. ISBN 0198518889.

## Related Publications

Certain other publications from Silicon Graphics may also interest you.

On UNICOS and UNICOS/mk systems, the following documents contain information that may be useful when using the CF90 compiler:

- Segment Loader (SEGLDR) and ld Reference Manual

- UNICOS User Commands Reference Manual

- UNICOS Performance Utilities Reference Manual

- Scientific Libraries Reference Manual

- Introducing the Program Browser

- Application Programmer's Library Reference Manual

- Guide to Parallel Vector Applications

- Introducing the Cray TotalView Debugger

- Introducing the MPP Apprentice Tool

- Application Programmer's I/O Guide

- Optimizing Code on Cray PVP Systems

- Compiler Information File (CIF) Reference Manual

On IRIX systems, the following documents contain information that may be useful when using the MIPSpro 7 Fortran 90 compiler:

- MIPSpro Compiling and Performance Tuning Guide

- MIPSpro Fortran 77 Programmer's Guide

- MIPSpro 64-Bit Porting and Transition Guide

- MIPSpro Assembly Language Programmer's Guide

## Obtaining Publications

The User Publications Catalog describes the availability and content of all Cray hardware and software documents that are available to customers. Customers who subscribe to the Cray Inform (CRInform) program can access this information on the CRInform system.

To order a document, call +1 651 683 5907. Silicon Graphics employees may send electronic mail to `orderdsk@sgi.com` (UNIX system users).

Customers who subscribe to the CRInform program can order software release packages electronically by using the `Order Cray Software` option.

Customers outside of the United States and Canada should contact their local service organization for ordering and documentation information.

## Conventions

The following conventions are used throughout this document:

Convention |  | Meaning
`command` |  | This fixed-space font denotes literal items such as commands, files, routines, path names, signals, messages, and programming language structures.
variable |  | Italic typeface denotes variable entries and words or concepts being defined.
`user input` |  | This bold, fixed-space font denotes literal items that the user enters in interactive sessions. Output is shown in nonbold, fixed-space font.
[ ] |  | Brackets enclose optional portions of a command or directive line.
... |  | Ellipses indicate that a preceding element can be repeated.
DEL or DELETED |  | The DEL or DELETED notation indicates that the feature being described has been deleted from the Fortran standard. The CF90 and MIPSpro 7 Fortran 90 compilers support these features, but the compilers issue a message when a deleted feature is encountered.
EXT or EXTENSION |  | The EXT or EXTENSION notation indicates that the feature being described is an extension to the Fortran standard. The CF90 and MIPSpro 7 Fortran 90 compilers issue a message when extensions are encountered.
OBS or OBSOLESCENT |  | The OBS or OBSOLESCENT notation indicates that the feature being described is considered to be obsolete in the Fortran standard. The CF90 and MIPSpro 7 Fortran 90 compilers support these features, but the compilers issue a message when an obsolescent feature is encountered.
xyz_list |  | When _list is part of a syntax description, it means that several items may be specified. For example, xyz_list can be expanded to mean `xyz [, xyz] ...`.
scalar_ |  | When scalar_ is the first item in a syntax description, it indicates that the item is a scalar, not an array, value.
_name |  | When _name is part of a syntax definition, it indicates that the item is a name with no qualification. For example, the item must not have a subscript list, so `ARRAY` is a name, but `ARRAY(I)` is not.
(Rnnnn) |  | Indicates that the Fortran 90 standard has rules regarding the characteristic of the language being discussed. All rules are numbered, and the numbered list appears in the Fortran Language Reference Manual, Volume 3. The numbering of the rules in the Fortran Language Reference Manual, Volume 3 matches the numbering of the rules in the standard. The forms of the rules in the Fortran Language Reference Manual, Volume 3 and the BNF syntax class terms that are used may differ from the rules and terms used in the standard.
`POINTER` |  | The term `POINTER` refers to the Fortran `POINTER` attribute.
Cray pointer |  | The term Cray pointer refers to the Cray pointer data type extension.
Fortran, Fortran standard |  | These terms refer to the current Fortran standard, which is the Fortran 95 standard. For situations when it might otherwise be confusing, a specific standard is mentioned along with its numeric identifier (FORTRAN 77, Fortran 90, Fortran 95).

## BNF Conventions

This section describes some of the commonly used Backus-Naur Form (BNF) conventions.

Terms such as goto_stmt are called variable entries, nonterminal symbols, or simply, nonterminals. The metalanguage term goto_stmt, for example, represents the `GO TO` statement, as follows:

goto_stmt | is |
    GOTO label

The syntax rule defines goto_stmt to be `GO TO label`, which describes the format of the `GO TO` statement. The description of the `GO TO` statement is incomplete until the definition of label is given. label is also a nonterminal symbol. A further search for label will result in a specification of label and thereby provide the complete statement definition. A terminal part of a syntax rule is one that does not need further definition. For example, `GO TO` is a terminal keyword and is a required part of the statement form. The complete BNF list appears in the Fortran Language Reference Manual, Volume 3.

The following abbreviations are commonly used in naming nonterminal keywords:

Abbreviation |  | Term
arg |  | argument
attr |  | attribute
char |  | character
decl |  | declaration
def |  | definition
desc |  | descriptor
expr |  | expression
int |  | integer
op |  | operator
spec |  | specifier or specification
stmt |  | statement

The term is separates the syntax class name from its definition. The term or indicates an alternative definition for the syntactic class being defined. The following example shows that add_op, the add operator, may be either a plus sign (`+`) or a minus sign (`-`):

add_op | is |
    +
| or |
    -

Indentation indicates syntax continuation. If a rule does not fit on one line, the second line is indented. This is shown in the following example:

| dimension_stmt | is |
    DIMENSION [ :: ] array_name (array_spec)
     [, array_name (array_spec)] ...

## Reader Comments

If you have comments about the technical accuracy, content, or organization of this document, please tell us. Be sure to include the title and part number of the document with your comments.

You can contact us in any of the following ways:

- Send electronic mail to the following address:

      techpubs@sgi.com

- Send a facsimile to the attention of “Technical Publications” at fax number +1 650 932 0801.

- Use the Suggestion Box form on the Technical Publications Library World Wide Web page:

      http://techpubs.sgi.com/library/

- Call the Technical Publications Group, through the Technical Assistance Center, using one of the following numbers:

  For Silicon Graphics IRIX based operating systems: 1 800 800 4SGI

  For UNICOS or UNICOS/mk based operating systems or CRAY Origin2000 systems: 1 800 950 2729 (toll free from the United States and Canada) or +1 651 683 5600

- Send mail to the following address:

  Technical Publications
  Silicon Graphics, Inc.
  2011 North Shoreline Boulevard, M/S 535
  Mountain View, California 94043-1389

We value your comments and will respond to them promptly.

Prev | Table of Contents | Next
New Features |  | Chapter 1. Fortran Syntax