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. |
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
You can obtain CF90 and MIPSpro 7 Fortran 90 compiler message explanations by using the online explain(1) command.
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.
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.
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
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 [email protected] (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.
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). |
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:
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 |
|
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:
[email protected] |
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.