Page 1¶
ND-FORTRAN¶
ND 210190 ND-FORTRAN for ND-500
ND 210191 ND-FORTRAN for ND-100
ND 210863 ND-FORTRAN for ND-100, compiling on ND-500
[Photo: Three men examining a map or document outdoors, possibly at a construction site.]
__ __ __
/ | | |__| ____ __ __
| | | | |/ \| | \
| | |___| | | \ | /
\____|__ |__|___|__/____/
Scanned by Jonny Oddene for Sintran Data © 2021
Page 2¶
ND-FORTRAN¶
INTRODUCTION¶
ND FORTRAN is a programming language, conforming fully to ANSI X3.9 (ANSI-77) standard. The compiler generates very compact code for optimal utilization of the ND-500 and ND-100 computer systems.
ND offers three FORTRAN compilers, — one that runs on and generates code for the ND-100, a cross-compiler that runs on an ND-500 and makes code for the ND-100, and one that both runs on and compiles code for the ND-500. Thus ND provides an upward compatible path for existing programs, as well as a support facility for distributed systems.
ND FORTRAN implements several features in addition to the ANSI-77 standard. Some of these additional features are listed below.
FEATURES¶
- Extended data types INTEGER2, INTEGER4, LOGICAL2, LOGICAL4, REAL4, REAL8, COMPLEX*8, and DOUBLE COMPLEX for greater accuracy
- Additional types INTEGER1 and LOGICAL1 using only one byte, and NUMERIC to support COBOL packed decimal format (ND-500 only)
- DO FOR - ENDDO/DO - ENDDO/DO WHILE - ENDDO loop constructs to improve program structure
- Generation of tables for the symbolic debugger to speed up program development
- Full diagnostic ability, including an option to show where a program is using a feature outside the ANSI-77 standard
- Standardised calling interface for easy invocation of routines written in other languages (COBOL, PLANC etc.)
- The ND-500 offers data stack control that allows recursive use of FORTRAN subroutines. This mechanism also supports PASCAL or PLANC subroutines
- Intrinsic functions for bit manipulation on integers
- Up to 31 characters are used for unique identification of symbolic names. The number of significant characters may be overridden by a selection. Any character in a symbolic name, except the first, may be an underscore
- ND FORTRAN allows longer continuation lines than ANSI-77. For DATA statements there is no limitation on the number of continuation lines
- Non-executable statements may be placed in the program less restrictively than specified by the ANSI-77 standard
- Type statements may contain values to initialize declared variables, in a manner similar to that of DATA statements
- Some INTRINSIC functions containing constant expressions may be evaluated during compilation
- An exception-handling facility allows users to define a procedure to be executed in an error condition
- The program source file may include compilation commands
Page 3¶
ND-FORTRAN¶
- Most commonly used ANSI features:
- CHARACTER data type for string manipulation
- IMPLICIT statement to change or confirm default data types
- PARAMETER statement to name symbolic constants
- BLOCK IF, ELSE IF, ELSE and ENDIF to control the execution sequence
- INQUIRE statement to get specified properties of files or units
- LIST-DIRECTED for input/output data transfer in free format
- $INLINE-EXPANSION to generate inline code for external functions and subroutines called frequently
- $ARRAY-INDEX-CHECK to check that the values of the index expressions are within the range of the declared dimensions
COMPILER COMMANDS¶
A number of compiler commands are available to ease the program compilation and development process.
- $CROSS-REFERENCE to list all names and labels, their attributes, and a list of the line numbers where they are used. This list is provided on a file for each program unit. A summary of the global hierarchy of invocations is also provided
- $DEFAULT to change the default data types
- $UNIT to change the default units for READ and PRINT statements
- $OPTIMIZE to set and reset the compiler’s optimization.
- $REAL-TIME-MODE to suppress the optimization of COMMON variables
- $LIST to turn the listing option on and off
- $PAGE-SIZE to define the page size of the compiler listing
- $HEADING-TEXT to provide the user with a title on each of the pages of the compiler listing
- $STANDARD-CHECK to diagnose statements that violate ANSI-77
- $INCLUDE to incorporate other symbolic files in the source program
- $CONSTANT to set values of named constants globally, allowing multiple compilations with the same values
- $IF-$THEN-$ELSEIF-$ELSE-$ENDIF to select parts of a file for compilation
- $LIBRARY-MODE to construct a library from the compiler object file
- $DEBUG-MODE to generate tables for use by the symbolic debugger
- $CONDITIONAL-COMPILING to select parts of a source program for compilation
The following compiler command functions are available only on ND-100 computer systems, - Generation of reentrant programs - Cross-compilation between 48 bits and 32 bits floating point systems - Generation of ND-500 compatible storage mapping
- $IMPLICIT to prevent the association of a default type with the first letter of a name
- $PROGRAM-MAP to generate a table that gives the address of the first instruction of each statement
REQUIREMENTS¶
ND 210190 FORTRAN and ND 210863 FORTRAN run on ND-500 computer systems, while ND 210191 FORTRAN runs on ND-100 computer systems. All of these compilers run under the SINTRAN III operating system.
DOCUMENTATION¶
ND FORTRAN Reference Manual ND-60.145 EN