# Preface

This manual contains the complete description of the Compaq Fortran 77 (formerly Digital Fortran 77 or DEC Fortran) programming language. It contains information on language syntax and semantics, on adherence to various Fortran standards, and on extensions to those standards.

This manual applies to the following languages:

Language | Version Number[1]
--- | ---
Compaq Fortran 77 for OpenVMS VAX Systems | 6.3
Compaq Fortran 77 for OpenVMS Alpha Systems | 6.3
Compaq Fortran 77 for Tru64 UNIX Alpha[2] Systems | 3.7
[1] The specified version number or higher [2] Formerly DIGITAL UNIX (or DEC OSF/1)

For details on the features of the compilers and how to improve the run-time performance of Fortran programs, see the following manuals:

Language | Compiler Features | Performance Improvement
--- | --- | ---
Compaq Fortran 77 for OpenVMS VAX Systems | Your user manual | Your performance guide
Compaq Fortran 77 (all other platforms) | Your user manual | Your user manual

# Intended Audience

This manual is intended for experienced applications programmers who have a basic understanding of the FORTRAN-77 language, and who are using Compaq Fortran 77 in either a single-platform or multiplatform environment. Some familiarity with your operating system is helpful. This is not a tutorial manual.

# Structure of this Document

This manual consists of the following chapters and appendixes:

- Chapter 1 discusses language standards, the elements of a source program, the character set, general coding rules, and compilation control statements.

- Chapter 2 describes data types, data items, and expressions.

- Chapter 3 describes assignment statements, which define the values of data items.

- Chapter 4 describes specification statements, which allocate and initialize data items and define various characteristics of symbolic names used in a program.

- Chapter 5 describes control statements, which specify when and where control transfers from one point in a program to another.

- Chapter 6 discusses subprograms (subroutines and functions), both those written by users and those supplied with the Compaq Fortran 77 compiler.

- Chapter 7 describes input/output (I/O) statements, which physically transfer data, both internally within memory and to and from output storage devices.

- Chapter 8 describes formatting I/O statements, which specify the form of data being transferred.

- Chapter 9 describes OpenVMS auxiliary I/O statements that manage files.

- Chapter 10 describes Tru64 UNIX auxiliary I/O statements that manage files.

- Chapter 11 describes compiler directives: general-purpose directives and parallel directives.

- Appendix A describes some statements and language features that support programs written in older versions of Fortran.

- Appendix B summarizes the supported character sets.

- Appendix C summarizes operators used in expressions, intrinsic functions, and Basic Linear Algebraic Routines.

- Appendix D summarizes system subprograms and bit manipulation functions.

- Appendix E summarizes platform-independent and platform-specific extensions.

- The Glossary contains abbreviated definitions of some commonly used Fortran terms.

# Associated Documents

The following documents contain information directly related to the topic of this manual:

- The Compaq Fortran 77 user manuals

  These manuals describe the Compaq Fortran 77 compilation environment and run-time support, as well as information on the programming environment beyond the scope of the Compaq Fortran 77 language syntax and semantics. They contain reference information on operating system features, architecture information, environment-specific effects of language features, and information about programming tasks.

- The Compaq Fortran 77 (formerly DEC Fortran) for OpenVMS VAX systems performance guide

  This manual describes the performance features of Compaq Fortran 77 for OpenVMS VAX systems, and discusses ways to improve the run-time performance of Compaq Fortran programs on these systems.

- The Compaq Fortran 77 installation guides

  These documents provide information on how to install Compaq Fortran 77 on your operating system.

- The operating system documentation sets

  These sets provide detailed information about components and features of your operating system, such as commands, tools, libraries, and other aspects of the programming environment.

# Platform Labels

A platform is a combination of operating system and central processing unit (CPU) that provides a distinct environment in which to use a product (in this case, a language). This manual contains information for the following language platforms:

| Platform
--- | ---
Language | Operating System | CPU
Compaq Fortran 77[1] | OpenVMS | VAX
| OpenVMS | Alpha
| Tru64 UNIX[2] | Alpha
[1] Formerly Digital Fortran 77 (or DEC Fortran) [2] Formerly DIGITAL UNIX (or DEC OSF/1)

Information in this manual applies to all supported platforms, unless it is labeled for specific platforms, as follows:

VAX | Specific to OpenVMS on VAX processors
VMS | Applies to OpenVMS on Alpha and VAX processors
VMS on Alpha | Specific to OpenVMS on Alpha processors
U*X | Specific to Tru64 UNIX on Alpha processors
Alpha | Applies to OpenVMS and Tru64 UNIX on Alpha processors

If information is specific to one operating system or CPU, the word "only" is added to the label. For example, the DICTIONARY statement (Section 1.6.1) is labeled "(VMS only)", so this feature is only valid for OpenVMS operating systems (on VAX and Alpha processors).

# Send Us Your Comments

Compaq welcomes your comments on this or any other Compaq Fortran manual. You can send comments to us in the following ways:

- Internet electronic mail: `fortran@compaq.com`

- FAX: `603-884-0120 Attn: Languages Documentation, ZKO2-3/K35`

- A Reader's Comments card (located at the back of each printed Compaq Fortran manual) sent to the address on the form.

If you have suggestions for improving particular sections or find any errors, please indicate the title, order number, and section numbers. Digital also welcomes general comments.

# Getting Help from Compaq

If you have a customer support contract and have comments or questions about Compaq Fortran software, you contact Compaq's Customer Support Center (CSC), preferably using electronic means such as DSNlink. In the United States, customers can call the CSC at 1-800-354-9000.

# Conventions Used in this Manual

Table 1 describes the conventions used in this manual.

### Table 1 Conventions Used in This Manual

Convention | Meaning
--- | ---
    {      }
| Large braces enclose lists from which you must choose one item. For example:
    { STATUS    }

    { DISPOSE   }

    { DISP      }
    . . .
| In code examples, a horizontal ellipsis means that the item preceding the ellipsis can be repeated. For example:
    s[,s] . . .
In an example, a horizontal ellipsis means that not all of the statements are shown.
[ ] | Square brackets enclose items that are optional. For example:
    BLOCK DATA [nam]
    .

    .

    .
| A vertical ellipsis in a figure means that not all of the statements are shown.
INTRINSIC LINK NOF77 | Uppercase letters indicate statement names, OpenVMS commands, and compiler options. (See "compiler option" in this table.)
`monospaced` | This typeface indicates a command, option, or pathname, and is also used in examples of program code.
`cat(1)` | Cross-references to online Tru64 UNIX reference pages include the appropriate section number in parentheses. For example, a reference to `cat(1)` indicates that you can find the material on the `cat` command in Section 1 of the reference pages. To read online reference pages, use the `man` command. Your operating system documentation also includes reference page descriptions.
extensions | This color indicates extensions to the FORTRAN-77 Standard. These extensions may or may not be implemented by other compilers that conform to the language standard.
full-file-name | This syntax term refers to the name of a file and the directory or pathname in which it is located. For example:
    DISK:[MY.PUBLIC]FILENAME.TXT  (OpenVMS file specification)

    /etc/home/public/filename     (Tru64 UNIX pathname)
compiler option | This term refers to OpenVMS command line qualifiers and Tru64 UNIX command line options. Names of compiler options in this manual may or may not match their OpenVMS and Tru64 UNIX equivalents. (For more information, see Section E.4.)
Fortran | This term refers to language information that is common to ANSI FORTRAN (FORTRAN-77) and Compaq Fortran 77.
integer | This term refers to the INTEGER*1, INTEGER*2, INTEGER (INTEGER*4), and INTEGER*8 data types as a group.
real | This term refers to the REAL (REAL*4), DOUBLE PRECISION (REAL*8), and REAL*16 data types as a group.
REAL | This term refers to the FORTRAN-77 REAL data type, which is REAL*4 in Compaq Fortran 77. On Alpha processors, this interpretation can be affected by compiler option REAL_SIZE (see "compiler option" in this table).
complex | This term refers to the COMPLEX (COMPLEX*8) and DOUBLE COMPLEX (COMPLEX*16) data types as a group.
logical | This term refers to the LOGICAL*1, LOGICAL*2, LOGICAL (LOGICAL*4), and LOGICAL*8 data types as a group.
Compaq Fortran 77, Digital Fortran 77, DEC Fortran | These terms refer to the same language.
OpenVMS, VMS | These terms refer to the same operating system.
Tru64 UNIX, DIGITAL UNIX, DEC OSF/1 | These terms refer to the same operating system.
(VMS only) | Italicized type is used in platform labels and to emphasize text.
<TAB> | This symbol indicates a nonprinting tab character.
Δ | This symbol indicates a nonprinting space character.

Previous Page Next Page Table of Contents