Skip to content

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.]

  __ __     __                
 /  |  |   |__| ____  __ __  
 |  |  |   |  |/    \|  |  \ 
 |  |  |___|  |   |  \  |  / 
 \____|__ |__|___|__/____/    
Norsk Data

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