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]