HP FORTRAN 77/XL on the 900 Series HP 3000 [ HP FORTRAN 77 Quick Reference Guide ]

HP FORTRAN 77 Quick Reference Guide

Chapter 7  HP FORTRAN 77/XL on the 900 Series HP 3000 

HP FORTRAN 77/XL on the 900 Series HP 3000 

COMPILING PROGRAMS 

Compiler Invocation 

     :FNTXL [textfile] [,[objectfile] [,[listfile]]] [; INFO="text"]

     :FTNXLLK [textfile] [,[progfile] [,[listfile]]] [; INFO="text"]

     :FTNXLGO [textfile] [,[listfile]] [; INFO="text"]

     :RUN FTNCOMP.PUB.SYS

RUN FTNCOMP.PUB.SYS 

The FORTRAN 77 compiler is a program file named FTNCOMP in the PUB group
of the SYS account.  You can use the MPE XL command :RUN to execute
FTNCOMP.PUB.SYS, or you can enter the command :FTNCOMP and the program
file will be found in the PUB group of the SYS account.

The compiler recognizes these formal file designators:

--------------------------------------------------------------------------------------------
|                           |                                                              |
|     Formal Designator     |                             File                             |
|                           |                                                              |
--------------------------------------------------------------------------------------------
|                           |                                                              |
| FTNTEXT                   | source file                                                  |
|                           |                                                              |
| FTNOBJ                    | object file                                                  |
|                           |                                                              |
| FTNLIST                   | listing file                                                 |
|                           |                                                              |
--------------------------------------------------------------------------------------------

The low order bits of the PARM word (the PARM word on MPE XL is 32 bits)
represent these three files:

     |----------------------------|
     |bit 29     bit 30     bit31 |
     |object     listing    source|
     |----------------------------|

The integer value of PARM sets these bits:

---------------------------------------------------------------------------------------------
|                   |                                                                       |
|       Value       |                        Files in FILE Commands                         |
|                   |                                                                       |
---------------------------------------------------------------------------------------------
|                   |                                                                       |
|         0         | None                                                                  |
|                   |                                                                       |
|         1         | Source                                                                |
|                   |                                                                       |
|         2         | listing                                                               |
|                   |                                                                       |
|         3         | listing, source                                                       |
|                   |                                                                       |
|         4         | object                                                                |
|                   |                                                                       |
|         5         | object, source                                                        |
|                   |                                                                       |
|         6         | object, listing                                                       |
|                   |                                                                       |
|         7         | object, listing, source                                               |
|                   |                                                                       |
---------------------------------------------------------------------------------------------

Trap Statement 

Use this statement:

     ON [ error_condition { CALL subroutine } ]
        [               { ABORT           } ]
        [               { IGNORE          } ]
        [ CONTROLY  CALL subroutine          ]

where the error conditions are as follows:

     REAL DIV 0               REAL*8 ILLEGAL
     REAL OVERFLOW            DOUBLE PRECISION DIV 0
     REAL UNDERFLOW           DOUBLE PRECISION OVERFLOW
     REAL INEXACT             DOUBLE PRECISION UNDERFLOW
     REAL ILLEGAL             DOUBLE PRECISION INEXACT
     REAL*4 DIV 0             DOUBLE PRECISION ILLEGAL
     REAL*4 OVERFLOW          INTEGER*2 OVERFLOW
     REAL*4 UNDERFLOW         INTEGER*4 DIV 0
     REAL*4 INEXACT           INTEGER*4 OVERFLOW
     REAL*4 ILLEGAL           INTEGER DIV 0
     REAL*8 DIV 0             INTEGER OVERFLOW
     REAL*8 OVERFLOW          SYSTEM ERROR
     REAL*8 UNDERFLOW         EXTERNAL ERROR
     REAL*8 INEXACT           INTERNAL ERROR


NOTE CONTROL-Y is not an error condition.
Compiler Directives $ALIAS name [= { 'externalName' } ] [Pascal] [ ( {%VAL } [,...] ) ] "externalName" } [COBOL ] [ {%REF } ] [ C ] [ {%DESCR } ] $ANSI [ ON] [OFF] $CHECK_ACTUAL_PARM { 0 } { 1 } { 2 } { 3 } $CHECK_FORMAL_PARM { 0 } { 1 } { 2 } { 3 } $CHECK_OVERFLOW { INTEGER_2 } [ ON] { INTEGER_4 } [OFF] { INTEGER } $CODE [ ON] [OFF] $CODE_OFFSETS [ ON] [OFF] $COPYRIGHT { 'copyrightName' } [DATE { 'copyrightDate' } ] { "copyrightName" } { "copyrightDate" } $DEBUG [ ON] [OFF] $ELSE $ENDIF $EXTERNAL_ALIAS name = { 'new_externalName' } { "new_externslName" } $FTN3000_66 [LOGICALS] [ ON] [CHAR ] [OFF] $HP3000_16 [ON ] [OFF ] [ALIGNMENT ] [REALS ] [SHARING_MOVE] $IF (ConditionList) $INCLUDE { 'fileName' } { "fileName" } $INIT [ ON] [OFF] $LINES number $LIST [ ON] [OFF] $LIST_CODE [ ON] [OFF] $LITERAL_ALIAS [ ON] [OFF] $LOCALITY { 'name' } { "name" } $LONG [INTEGERS] $LOWERCASE [ ON] [OFF] $NLS_SOURCE [ ON] [OFF] $ONETRIP [ ON] [OFF] $OPTIMIZE { OFF } { } { ON } { } { LEVEL1 [ ON] } { [OFF] } { } { LEVEL2 [ ON] } { [OFF] } { } { LEVEL2_MIN [ ON] } { [OFF] } { } { LEVEL2_MAX [ ON] } { [OFF] } { } { ASSUME_NO_PARAMETER_OVERLAPS [ ON] } { [OFF] } { } { ASSUME_NO_SIDE_EFFECTS [ ON] } { [OFF] } { } { ASSUME_PARM_TYPES_MATCHED [ ON] } { [OFF] } { } { ASSUME_NO_EXTERNAL_PARMS [ ON] } { [OFF] } { } { ASSUME_NO_SHARED_COMMON_PARMS [ ON] } { [OFF] } $PAGE $RANGE [ ON] [OFF] $SAVE_LOCALS [ ON] [OFF] $SET (flag1 = { .TRUE. } [, flag2 = { .TRUE. } ]...) { .FALSE. } { .FALSE. } $SHORT [INTEGERS] $STANDARD_LEVEL {ANSI } {HP } {SYSTEM} $SUBTITLE { 'subtitle string' } { "subtitle string" } $SYMDEBUG [ON ] [OFF ] [ ] [ XDB [ON ] ] [ [OFF] ] [ ] [TOOLSET [ON ] ] [ [OFF] ] $SYMTABLE [ ON] [OFF] $SYSINTR { 'sysintrFileName' } { "sysintrFileName" } $SYSTEM INTRINSIC intrinsicName [,intrinsicName[,...] ] $TABLES [ ON] [OFF] $TITLE { 'title string' } { "title string" } $UPPERCASE [ ON] [OFF] $VERSION { 'version ID' } { "version ID" } $WARNINGS [ ON] [OFF]